Pandas之六Merge

简介: 有时可能需要将不同的dataframe合并到后进行分析,讲解两种merge方法:concat和join

有时要分析的数据源存放在不同的地方被读取到不同的dataframe,但需要对其合并分析。比如某个业务按月份存放数据到不同的表或文件,但是需要合并分析各个月的变化趋势时就可能需要将不同的dataframe合并到后进行分析。Pandas提供了两种合并操作:

  • concat:直接拼接,将datafarme或series按行或列拼接在一起
  • join:类似于sql中的join,按照条件组合到一起

1. Concat

concat可以同时合并两个及两个以下的dataframe,可以按行进行合并,也可以按列进行合并。下面我们以下图中的数据来演示上述各项功能。

1.1 按行合并dataframe

将df4、df5和df6按行合并成一个dataframe,合并步骤:

  1. 取出所有dataframe的不同列名,作为结果dataframe的列名
  2. 直接拼接所有dataframe的所有行,按照原列名存放各列数据
  3. np.nan补充缺失值
pd.concat([df4,df5,df6])

1.2 按列合并dataframe

设置参数axis=1将df4和df5按列合并成一个dataframe,与按行合并的区别是会在原dataframe后追加所有行和所有列

pd.concat([df4,df5.loc[:,"B"]],axis=1)

2. Join

Join方式类似于SQL中的join,是日常操作中用得较多的方式,使用pd.merge方法实现,本文先介绍基础用法,后续精讲系列再进行深入讲解。首先构建两个需要合并的dataframe

  1. 使用pd.merge为两个dataframe关联key相同的数据,取其所有列。一般情况下,on设置为在所有dataframe数据都不重复的列名,以避免重复数据出现。

    pd.merge(left, right, on="key")

  1. 使用pd.merge左连接的方式关联合并,设置参数how="left",以left为主,取right中相同key的数据,不存在的数据默认以np.nan填充。

    pd.merge(left, right, on="key", how="left")

目录
相关文章
|
6月前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
109 2
|
2月前
|
SQL 数据采集 索引
聚焦Pandas数据合并:掌握merge方法
聚焦Pandas数据合并:掌握merge方法
30 0
|
索引 Python
Pandas 的Merge函数详解
在日常工作中,我们可能会从多个数据集中获取数据,并且希望合并两个或多个不同的数据集。这时就可以使用Pandas包中的Merge函数。在本文中,我们将介绍用于合并数据的三个函数
180 1
|
存储 SQL 数据可视化
Python 之 Pandas merge() 函数、set_index() 函数、drop_duplicates() 函数和 tolist() 函数
Python 之 Pandas merge() 函数、set_index() 函数、drop_duplicates() 函数和 tolist() 函数
Pandas pd.merge() 报错:ValueError: You are trying to merge on int64 and object columns.
Pandas pd.merge() 报错:ValueError: You are trying to merge on int64 and object columns.
Pandas pd.merge() 报错:ValueError: You are trying to merge on int64 and object columns.
|
SQL 数据挖掘 关系型数据库
5个例子介绍Pandas的merge并对比SQL中join
5个例子介绍Pandas的merge并对比SQL中join
172 0
5个例子介绍Pandas的merge并对比SQL中join
|
Python
Python编程:Pandas合并数据merge
Python编程:Pandas合并数据merge
118 0
|
8天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
30 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
67 0