如何在 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()等函数。每种方法都有其适用的场景和特点,可以根据具体需求选择适合的方法进行合并。

目录
相关文章
|
14天前
|
存储 关系型数据库 数据库
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
10 0
|
14天前
|
索引 Python
如何在 Pandas 数据框中添加新列?
【8月更文挑战第30天】
54 0
|
9月前
|
存储 SQL 数据库
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
89 0
|
9月前
|
存储 IDE 开发工具
Python 教程之 Pandas(1)—— Pandas 数据框
Python 教程之 Pandas(1)—— Pandas 数据框
82 0
|
算法 数据挖掘 数据库
Pandas数据框整体操作(中)
引入 俗话说得好,做事和学习要循序渐进。pandas里面数据框整体操作还是非常重要的,上篇主要介绍的是最形象的数据框操作,而本期则偏重综合实践,介绍数据的连接。
Pandas数据框整体操作(中)
|
IDE 开发工具 索引
Pandas数据框整体操作(上)
引入 前面几期我几乎介绍了pandas可能用到的各个基础函数。 但有一个非常重要的内容似乎一直忽视了 包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。 他就是pandas的数据框整体操作
Pandas数据框整体操作(上)
|
Python
推荐Python数据框Pandas视频教程
若要独立用 Python 处理数据科学问题,Pandas 是绕不过去的。 新番 今天,花了一上午的时间,跟着这个 Youtube 系列教程,学习了 Pandas 中级技巧。
1605 0
|
2月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
60 1
|
2月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
113 0
|
2天前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化