python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas 表连接

pandas 表连接的具体实现

作者:欧阳枫落

在Pandas中使用merge()函数可以实现类似于SQL的连接操作,包括左连接、右连接、内连接和外连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

您可能感兴趣的文章:
阅读全文