Python按照某列内容对两个DataFrame进行合并操作方法

 更新时间:2023年08月30日 09:33:20   作者:麻辣贼香锅  
这篇文章主要给大家介绍了关于Python按照某列内容对两个DataFrame进行合并操作的相关资料,文中通过代码示例介绍的非常详细,对大家学习或者使用Python具有一定的参考借鉴价值,需要的朋友可以参考下

要将两个DataFrame进行合并,如data1 和 data2按照第一列的内容纵向合并为一个新的DataFrame,可以使用pandas库中的merge()方法,按照实际需求将how参数设置为‘left’、‘right’、‘outer’、‘inner’。

其中:

  • inner: 内连接/交集。保留两个 DataFrame 共有的键,丢弃不匹配的行。
  • outer: 外连接/并集。保留两个 DataFrame 所有的键,缺失的值用 NaN 填充。
  • left: 左连接。保留左边 DataFrame 的所有键,丢弃不匹配的右边 DataFrame 的行。
  • right: 右连接。保留右边 DataFrame 的所有键,丢弃不匹配的左边 DataFrame 的行。

假设data1表示如下:

  col1  col2
0    A     1
1    B     2
2    C     3

data2表示如下:

  col1 col3
0    A    x
1    B    y
2    D    z

将col1作为合并的基准,使用"how = inner",代码和结果如下:

import pandas as pd
data1 = {'col1': ['A', 'B', 'C'], 'col2': [1, 2, 3]}
data2 = {'col1': ['A', 'B', 'D'], 'col3': ['x', 'y', 'z']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
merged_df = pd.merge(df1, df2, on='col1', how='inner')
print(merged_df)

  col1  col2 col3
0    A     1    x
1    B     2    y

将col1作为合并的基准,使用"how = outer",代码和结果如下:

merged_df = pd.merge(df1, df2, on='col1', how='outer')

  col1  col2 col3
0    A   1.0    x
1    B   2.0    y
2    C   3.0  NaN
3    D   NaN    z

将col1作为合并的基准,使用"how = left",代码和结果如下:

merged_df = pd.merge(df1, df2, on='col1', how='left')

  col1  col2 col3
0    A     1    x
1    B     2    y
2    C     3  NaN

将col1作为合并的基准,使用"how = right",代码和结果如下:

merged_df = pd.merge(df1, df2, on='col1', how='right')

  col1  col2 col3
0    A   1.0    x
1    B   2.0    y
2    D   NaN    z

 总结

到此这篇关于Python按照某列内容对两个DataFrame进行合并操作方法的文章就介绍到这了,更多相关Python合并DataFrame内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何通过python代码根据模板修改变量生成新yaml文件

    如何通过python代码根据模板修改变量生成新yaml文件

    有些时候,需要根据一个yaml模板创建多个yaml文件实例,我们先写一个yaml文件模板,然后通过python代码修改模板中的变量,存储为一个新的yaml文件,需要配合python的库Template及ymal使用,本文给大家讲解的非常详细,需要的朋友跟随小编一起看看吧
    2023-11-11
  • 如何实现Python调用Golang代码详解

    如何实现Python调用Golang代码详解

    这篇文章主要介绍了如何实现Python调用Golang代码,Python和Golang都是当下非常流行的编程语言,在实际开发中,我们可能会遇到需要将Python和Golang进行组合使用的场景,感兴趣想要详细了解可以参考下文
    2023-05-05
  • Python处理excel根据全称自动填写简称

    Python处理excel根据全称自动填写简称

    这篇文章主要为大家详细介绍了Python处理excel根据全称自动填写简称,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Matplotlib直方图绘制中的参数bins和rwidth的实现

    Matplotlib直方图绘制中的参数bins和rwidth的实现

    本文主要介绍了Matplotlib直方图绘制中的参数bins和rwidth的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明

    俗话说“好记性不如烂笔头”,老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多捏
    2014-05-05
  • Python 获得13位unix时间戳的方法

    Python 获得13位unix时间戳的方法

    本篇文章主要介绍了Python 获得13位unix时间戳的方法,非常具有实用价值,需要的朋友可以参考下
    2017-10-10
  • 基于Python开发批量提取Excel图片的小工具

    基于Python开发批量提取Excel图片的小工具

    这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下
    2025-03-03
  • python中对开区间和闭区间的理解

    python中对开区间和闭区间的理解

    这篇文章主要介绍了python中对开区间和闭区间的理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 对python中的*args与**kwgs的含义与作用详解

    对python中的*args与**kwgs的含义与作用详解

    今天小编就为大家分享一篇对python中的*args与**kwgs的含义与作用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 解决python虚拟环境切换无效的问题

    解决python虚拟环境切换无效的问题

    这篇文章主要介绍了解决python虚拟环境切换无效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论