返回

pandas数据合并秘籍:concat、join、append三大法宝助你轻松搞定数据整合

人工智能

大家好,我是Peter,欢迎来到我的数据分析之旅。今天,我们继续来聊聊pandas中的数据合并操作。在上一篇文章中,我们已经介绍了pandas中最常用的一个合并函数merge的使用。今天,我们就来认识一下另外3个与合并操作相关的函数:concat、join和append。这三个函数虽然功能相似,但各有特色,让我们一起来看看它们的区别和用法吧!

concat:简单粗暴的合并利器

concat函数是pandas中使用最为简单的一个合并函数。它的语法格式如下:

pd.concat([df1, df2, ...], axis=0, ignore_index=True)

其中,df1、df2等是要合并的数据框,axis参数指定合并的方向,0表示按行合并,1表示按列合并,ignore_index参数指定是否忽略合并后的索引。

concat函数的使用非常简单,我们来看一个例子:

import pandas as pd

df1 = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30]})
df2 = pd.DataFrame({'Name': ['Alice', 'Bob', 'Carol'], 'Age': [22, 35, 28]})

df_concat = pd.concat([df1, df2], ignore_index=True)

print(df_concat)

输出结果如下:

   Name  Age
0  John  20
1  Mary  25
2  Bob  30
3  Alice  22
4  Bob  35
5  Carol  28

可以看到,concat函数将两个数据框按行合并在一起,并且忽略了合并后的索引。

join:灵活多变的合并王者

join函数是pandas中最为灵活的一个合并函数。它的语法格式如下:

df1.join(df2, on=None, how='inner', lsuffix='_left', rsuffix='_right')

其中,df1和df2是要合并的数据框,on参数指定合并的键,how参数指定合并的方式,inner表示只保留在两个数据框中都存在的行,left表示只保留在df1中存在的行,right表示只保留在df2中存在的行,outer表示保留两个数据框中的所有行,lsuffix和rsuffix参数指定合并后左右数据框列名的后缀。

join函数的使用稍微复杂一些,我们还是来看一个例子:

import pandas as pd

df1 = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30]})
df2 = pd.DataFrame({'Name': ['Alice', 'Bob', 'Carol'], 'Age': [22, 35, 28], 'City': ['New York', 'London', 'Paris']})

df_join = df1.join(df2, on='Name', how='inner')

print(df_join)

输出结果如下:

   Name  Age  City
0  John  20  NaN
1  Mary  25  NaN
2  Bob  30  London

可以看到,join函数将两个数据框按Name列合并在一起,并且只保留在两个数据框中都存在的行。

append:简单实用的追加助手

append函数是pandas中使用最为简单的一个追加函数。它的语法格式如下:

df1.append(df2, ignore_index=True)

其中,df1和df2是要追加的数据框,ignore_index参数指定是否忽略追加后的索引。

append函数的使用非常简单,我们来看一个例子:

import pandas as pd

df1 = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30]})
df2 = pd.DataFrame({'Name': ['Alice', 'Bob', 'Carol'], 'Age': [22, 35, 28]})

df_append = df1.append(df2, ignore_index=True)

print(df_append)

输出结果如下:

   Name  Age
0  John  20
1  Mary  25
2  Bob  30
3  Alice  22
4  Bob  35
5  Carol  28

可以看到,append函数将两个数据框按行追加在一起,并且忽略了追加后的索引。

总结

concat、join和append是pandas中最为常用的三个数据合并函数。它们各有特色,适用不同的场景。concat函数简单粗暴,join函数灵活多变,append函数简单实用。希望大家能够熟练掌握这三个函数,在数据分析工作中游刃有余!