pandas 表连接的具体实现

 更新时间:2024年11月24日 09:48:02   作者:欧阳枫落  
在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 表连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 寻找网站后台地址的python脚本

    寻找网站后台地址的python脚本

    这篇文章主要介绍了用python实现的寻找网站后台地址的脚本代码,国外牛人的作品,需要的朋友可以参考下
    2014-09-09
  • Python正则表达式re.sub()用法详解

    Python正则表达式re.sub()用法详解

    re.sub用于替换字符串中的匹配项,下面这篇文章主要给大家介绍了关于Python正则表达式re.sub()用法的相关资料,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 详解python的网络编程基础

    详解python的网络编程基础

    这篇文章主要为大家介绍了python网络编程的基础,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Python探索之实现一个简单的HTTP服务器

    Python探索之实现一个简单的HTTP服务器

    这篇文章主要介绍了Python探索之实现一个简单的HTTP服务器,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 使用Python 操作 xmind 绘制思维导图的详细方法

    使用Python 操作 xmind 绘制思维导图的详细方法

    在平时的工作中当我们要总结一些知识的时候就需要一款工具来画画流程图,这里推荐 XMind 软件,用 Xmind 绘制的思维导图看起来思路清晰,那么今天的文章介绍关于思维导图的相关知识以及用 Python 如何操作 Xmind 绘制思维导图
    2021-10-10
  • 将labelme格式数据转化为标准的coco数据集格式方式

    将labelme格式数据转化为标准的coco数据集格式方式

    今天小编就为大家分享一篇将labelme格式数据转化为标准的coco数据集格式方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python实战之PyQt5实现漫画脸

    python实战之PyQt5实现漫画脸

    本文详细讲解了python实战之PyQt5实现漫画脸的方法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • bat和python批量重命名文件的实现代码

    bat和python批量重命名文件的实现代码

    这篇文章主要介绍了bat和python批量重命名文件的实现代码,需要的朋友可以参考下
    2016-05-05
  • Python实现 MK检验示例代码

    Python实现 MK检验示例代码

    这篇文章主要介绍了Python实现 MK检验,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 浅谈Python中带_的变量或函数命名

    浅谈Python中带_的变量或函数命名

    这篇文章主要介绍了浅谈Python中带_的变量或函数命名,简单介绍了Python编程风格的描述文档,以及带有下划线的命名规则,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12

最新评论