当前位置: 代码网 > it编程>前端脚本>Python > pandas 表连接的具体实现

pandas 表连接的具体实现

2024年11月25日 Python 我要评论
在pandas中,可以使用merge()函数来实现类似于sql中的连接操作。以下是四种基本的连接类型:左连接(left join)、右连接(right join)、内连接(inner join)和外连

在pandas中,可以使用merge()函数来实现类似于sql中的连接操作。以下是四种基本的连接类型:左连接(left join)、右连接(right join)、内连接(inner join)和外连接(outer join)的表格示例解释。

假设我们有两个dataframe:df1 和 df2

import pandas as pd

# 创建示例dataframe
df1 = pd.dataframe({
    'key': ['a', 'b', 'c', 'd'],
    'value1': [1, 2, 3, 4]
})

df2 = pd.dataframe({
    'key': ['b', 'd', 'e', 'f'],
    'value2': [5, 6, 7, 8]
})

1. 左连接(left join)

左连接返回左dataframe(df1)的所有行,即使右dataframe(df2)中没有匹配的行。如果右dataframe中有匹配的行,则返回匹配的值,否则返回nan。

result_left = pd.merge(df1, df2, on='key', how='left')
print(result_left)

输出结果:

  key  value1  value2
0   a       1     nan
1   b       2     5.0
2   c       3     nan
3   d       4     6.0

2. 右连接(right join)

右连接返回右dataframe(df2)的所有行,即使左dataframe(df1)中没有匹配的行。如果左dataframe中有匹配的行,则返回匹配的值,否则返回nan。

result_right = pd.merge(df1, df2, on='key', how='right')
print(result_right)

输出结果:

  key  value1  value2
0   b       2     5.0
1   d       4     6.0
2   e      nan     7.0
3   f      nan     8.0

3. 内连接(inner join)

内连接返回两个dataframe中共有的匹配行。只有当两个dataframe中都有匹配的行时,才会返回结果。

result_inner = pd.merge(df1, df2, on='key', how='inner')
print(result_inner)

输出结果:

  key  value1  value2
0   b       2     5.0
1   d       4     6.0

4. 外连接(outer join)

外连接返回两个dataframe中的所有行。如果某一侧没有匹配的行,则该侧的值将被设置为nan。

result_outer = pd.merge(df1, df2, on='key', how='outer')
print(result_outer)

输出结果:

  key  value1  value2
0   a       1     nan
1   b       2     5.0
2   c       3     nan
3   d       4     6.0
4   e      nan     7.0
5   f      nan     8.0

到此这篇关于pandas 表连接的具体实现的文章就介绍到这了,更多相关pandas 表连接内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com