IT俱乐部 Python pandas 表连接的具体实现

pandas 表连接的具体实现

在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 表连接内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/python/14522.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部