Python 按照某列内容对两个DataFrame进行合并

这篇具有很好参考价值的文章主要介绍了Python 按照某列内容对两个DataFrame进行合并。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要将两个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",代码和结果如下:文章来源地址https://www.toymoban.com/news/detail-611457.html

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进行合并的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 筛选特定内容:Python中筛选DataFrame指定数据列包含特定内容的所有数据行

    筛选特定内容:Python中筛选DataFrame指定数据列包含特定内容的所有数据行 在数据处理和分析中,经常需要对数据进行筛选以便找到我们需要的信息。而在Python中,使用Pandas库中的DataFrame对象可以方便地对数据进行处理和分析。 下面我们来看如何使用contains()函数,筛选DataFr

    2024年02月14日
    浏览(40)
  • pandas中DataFrame数据合并、连接

    为解决数据冗余等问题,大量的数据会分开存放在不同的文件(表格)里。在数据处理时,经常会有不同表格的数据需要进行合并操作。可以通过pandas库的 merge函数 和 concat函数 来实现数据集的合并。 根据 一个或多个键 将不同DataFrame中的 行 连接起来。 说明:类似于关系数

    2024年02月15日
    浏览(43)
  • 【python】数据可视化,使用pandas.merge()对dataframe和geopandas类型数据进行数据对齐

    目录 0.环境 1.适用场景 2.pandas.merge()函数详细介绍 3.名词解释“数据对齐”(来自chatGPT3.5) 4.本文将给出两种数据对齐的例子 1)dataframe类型数据和dataframe类型数据对齐(对齐NAME列); 数据对齐前的两组数据集: 数据对齐后的数据集(通过pandas.merge()函数对齐): 代码 2)

    2024年02月09日
    浏览(51)
  • R语言dplyr包select函数删除dataframe数据中包含指定字符串内容的数据列(drop columns in dataframe)

    参考链接 我有一个数据框,想删除列名包含“Pval”的列 大功告成。

    2024年02月12日
    浏览(44)
  • Pandas中对DataFrame列名进行重命名

    目录 1.重命名Pandas DataFrame Column(列) 2.在创建Dataframe时指定列名 3.※使用 list 设置全部列名※ Pandas是一个用于数据分析和操作的Python库。在 pandas 中几乎所有的操作都围绕着 DataFrame 。 Dataframe 是一个二维表的抽象表示,可以包含各种数据。 背景:只想重命名几列,最好在创

    2023年04月18日
    浏览(35)
  • Python——把几个DataFrame合并成一个DataFrame

    目录  1 横向合并——merge  2 横向合并——join  3 竖向合并——append  4 竖向合并——concat  

    2024年02月15日
    浏览(61)
  • python——dataframe 获得指定行列

    目录 操作行列所需要的库 生成被取用的dataframe对象  dataframe取列 1、已知列名取用方法 2、已知列所在位置的取用方法  3、 以上两段代码生成结果相同  dataframe取行 1、已知行名取用方法 2、已知行所在位置的取用方法  3、 以上两段代码生成结果相同  dataframe按照列(列名,

    2024年02月04日
    浏览(38)
  • python入门——DataFrame创建和索引

    DataFrame是Pandas中常用的数据结构,即表示矩阵的数据表,包含已排序的列集合,既有行索引又有列索引。使用前需先导入pandas(import pandas as pd)。 一、DataFrame的创建 1、利用包含等长度列表活Numpy数组的字典创建。 可以看到创建的DataFrame如下: 2、利用嵌套字典创建 3、 用Data

    2024年02月09日
    浏览(61)
  • Python数据攻略-DataFrame的数据操作

    当今时代,数据无处不在,它如同一种语言,讲述着数字背后的故事。但是要理解这些故事需要合适的工具。在数据分析的世界中,Pandas无疑是一位出色的翻译家。本文将深入探讨如何利用Pandas进行数据访问、检查、清理以及可视化,展现数据分析的艺术。 当面对海量数据时

    2024年02月07日
    浏览(56)
  • python将dataframe数据导入MySQL

    mysql操作 创建数据库test和table pymysql操作 python安装pymysql pymysql连接数据库 创建游标 插入数据 完整代码 导入数据并启动 使用pandas导入MySQL 数据库连接引擎 ‘mysql+pymysql://[user]:[pwd]@localhost:3306/[database]?charset=utf8’ 使用to_sql方法 name : str Name of SQL table. con : sqlalchemy.engine.(Engine o

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包