如何在 Pandas 中合并数据框?

简介: 【8月更文挑战第30天】

在Pandas中合并数据框是一项常见的任务,可以通过使用merge()concat()join()等函数来实现。下面详细介绍如何在Pandas中合并数据框。

  1. 使用merge()函数进行合并:

    • merge()函数可以根据一个或多个共享的列(键)将不同的数据框合并在一起。
    • 首先,需要导入Pandas库并创建两个数据框。例如:
      import pandas as pd
      df1 = pd.DataFrame({
             'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
      df2 = pd.DataFrame({
             'A': [1, 2, 4], 'C': ['d', 'e', 'f']})
      
    • 然后,可以使用merge()函数将这两个数据框按照共享的列进行合并。例如,按照列'A'进行合并:
      merged_df = pd.merge(df1, df2, on='A')
      
    • 这将生成一个新的数据框,其中包含两个原始数据框中匹配的行。在这个例子中,结果将如下所示:
        A  B  C
      0  1  a  d
      1  2  b  e
      
    • 还可以通过指定多个共享列来进行合并,例如:
      merged_df = pd.merge(df1, df2, on=['A', 'B'])
      
    • 这将根据列'A'和列'B'的值来合并数据框。
  2. 使用concat()函数进行合并:

    • concat()函数可以将两个或多个数据框沿着特定轴进行连接。
    • 首先,同样需要导入Pandas库并创建数据框。例如:
      import pandas as pd
      df1 = pd.DataFrame({
             'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
      df2 = pd.DataFrame({
             'A': [4, 5, 6], 'B': ['d', 'e', 'f']})
      
    • 然后,可以使用concat()函数将这些数据框沿着行或列进行连接。例如,沿着行连接:
      concatenated_df = pd.concat([df1, df2], axis=0)
      
    • 这将生成一个新的数据框,其中包含两个原始数据框的所有行。在这个例子中,结果将如下所示:
         A  B
      0  1  a
      1  2  b
      2  3  c
      0  4  d
      1  5  e
      2  6  f
      
    • 还可以通过设置axis=1来沿着列进行连接,例如:
      concatenated_df = pd.concat([df1, df2], axis=1)
      
    • 这将生成一个新的数据框,其中包含两个原始数据框的所有列。在这个例子中,结果将如下所示:
         A  B  A  B
      0  1  a  4  d
      1  2  b  5  e
      2  3  c  6  f
      
  3. 使用join()函数进行合并:

    • join()函数是merge()函数的一种简化形式,它默认使用索引进行合并。
    • 首先,同样需要导入Pandas库并创建数据框。例如:
      import pandas as pd
      df1 = pd.DataFrame({
             'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index=[0, 1, 2])
      df2 = pd.DataFrame({
             'C': [4, 5, 6]}, index=[0, 1, 3])
      
    • 然后,可以使用join()函数根据索引进行合并。例如:
      joined_df = df1.join(df2)
      
    • 这将生成一个新的数据框,其中包含两个原始数据框中匹配的行。在这个例子中,结果将如下所示:
         A  B  C
      0  1  a  4
      1  2  b  5
      2  3  c  NaN
      
    • 如果两个数据框的索引不完全匹配,那么在合并后的数据框中,不匹配的位置将被填充为NaN。

总结:在Pandas中合并数据框有多种方法,包括使用merge()concat()join()等函数。每种方法都有其适用的场景和特点,可以根据具体需求选择适合的方法进行合并。

目录
相关文章
|
索引 Python
如何在 Pandas 数据框中添加新列?
【8月更文挑战第30天】
1104 4
|
存储 关系型数据库 数据库
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
130 0
|
存储 SQL 数据库
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
455 0
|
存储 IDE 开发工具
Python 教程之 Pandas(1)—— Pandas 数据框
Python 教程之 Pandas(1)—— Pandas 数据框
545 0
|
算法 数据挖掘 数据库
Pandas数据框整体操作(中)
引入 俗话说得好,做事和学习要循序渐进。pandas里面数据框整体操作还是非常重要的,上篇主要介绍的是最形象的数据框操作,而本期则偏重综合实践,介绍数据的连接。
Pandas数据框整体操作(中)
|
IDE 开发工具 索引
Pandas数据框整体操作(上)
引入 前面几期我几乎介绍了pandas可能用到的各个基础函数。 但有一个非常重要的内容似乎一直忽视了 包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。 他就是pandas的数据框整体操作
Pandas数据框整体操作(上)
|
Python
推荐Python数据框Pandas视频教程
若要独立用 Python 处理数据科学问题,Pandas 是绕不过去的。 新番 今天,花了一上午的时间,跟着这个 Youtube 系列教程,学习了 Pandas 中级技巧。
1790 0
|
3月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
352 0
|
3月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
540 0
|
5月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
488 0

热门文章

最新文章