关键词

详解pandas.concat()(合并数据框)函数使用方法

Pandas.concat()的作用

Pandas库中的concat()函数主要用于合并/拼接一个或多个数据帧。数据帧可以是行方向(axis=0)或列方向(axis=1)的合并,merge的结果就是一个新的数据帧。合并的数据帧可以从多个源获取,这使得它成为数据处理和分析中非常有用的工具。

Pandas.concat()的使用方法

Pandas.concat()函数的基本语法如下:

pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)

其中,各参数的含义如下:

  • objs :用于拼接的Pandas对象序列,例如数据帧和Series

  • axis : 指定拼接数据的方向。0表示按行拼接,1表示按列拼接,默认为0。

  • join : 指定合并时采用的连接方式。'inner'表示内部连接,'outer'表示外部连接,默认为'outer'。

  • ignore_index :指定拼接后是否重置索引,默认为False,表示保留原索引。

  • keys : 构建分层索引,可以是任意多个分层级别的key。

  • levels : 指定每个key的级别,默认为None,表示按照keys的顺序进行自动编号。

  • names :自定义分层级别名称,默认为None。

  • verify_integrity : 检查合并后的数据是否有重复项,默认为False。

  • sort : 指定是否按照顺序进行排序,默认为False。

  • copy :指定是否在拼接之前复制数据,默认为True。

接下来我们通过两个实例来说明Pandas.concat()的使用方法:

实例1:按行合并数据帧

源数据:

df1=pd.DataFrame({'A':['A0','A1','A2','A3'],'B':['B0','B1','B2','B3'],'C':['C0','C1','C2','C3'],'D':['D0','D1','D2','D3']})

df2=pd.DataFrame({'A':['A4','A5','A6','A7'],'B':['B4','B5','B6','B7'],'C':['C4','C5','C6','C7'],'D':['D4','D5','D6','D7']})

df3=pd.DataFrame({'A':['A8','A9','A10','A11'],'B':['B8','B9','B10','B11'],'C':['C8','C9','C10','C11'],'D':['D8','D9','D10','D11']})

三个数据帧分别为:

df1 

A B C D 

0 A0 B0 C0 D0 
1 A1 B1 C1 D1 
2 A2 B2 C2 D2 
3 A3 B3 C3 D3 

df2 

A B C D 

4 A4 B4 C4 D4 
5 A5 B5 C5 D5 
6 A6 B6 C6 D6 
7 A7 B7 C7 D7 

df3 

A B C D 

8 A8 B8 C8 D8 
9 A9 B9 C9 D9 
10 A10 B10 C10 D10 
11 A11 B11 C11 D11 

现在我们想要合并以上三个数据帧,可以通过以下代码来实现:

result=pd.concat([df1,df2,df3],axis=0)

合并后的结果为:

result 

A B C D 

0 A0 B0 C0 D0 
1 A1 B1 C1 D1 
2 A2 B2 C2 D2 
3 A3 B3 C3 D3 
4 A4 B4 C4 D4 
5 A5 B5 C5 D5 
6 A6 B6 C6 D6 
7 A7 B7 C7 D7 
8 A8 B8 C8 D8 
9 A9 B9 C9 D9 
10 A10 B10 C10 D10 
11 A11 B11 C11 D11 

以上合并的结果是按照行方向进行合并,通过将三个数据帧沿着行方向依次合并,得到了一个新的数据帧。

实例2:按列合并数据帧

源数据:

df1=pd.DataFrame({'A':['A0','A1','A2','A3'],'B':['B0','B1','B2','B3'],'C':['C0','C1','C2','C3'],'D':['D0','D1','D2','D3']})

df2=pd.DataFrame({'E':['E0','E1','E2','E3'],'F':['F0','F1','F2','F3'],'G':['G0','G1','G2','G3'],'H':['H0','H1','H2','H3']})

两个数据帧为:

df1 

A B C D 

0 A0 B0 C0 D0 
1 A1 B1 C1 D1 
2 A2 B2 C2 D2 
3 A3 B3 C3 D3 

df2 

E F G H 

0 E0 F0 G0 H0 
1 E1 F1 G1 H1 
2 E2 F2 G2 H2 
3 E3 F3 G3 H3 

现在我们想要合并以上两个数据帧,可以通过以下代码来实现:

result=pd.concat([df1,df2],axis=1)

合并后的结果为:

result 

A B C D E F G H 

0 A0 B0 C0 D0 E0 F0 G0 H0 
1 A1 B1 C1 D1 E1 F1 G1 H1 
2 A2 B2 C2 D2 E2 F2 G2 H2 
3 A3 B3 C3 D3 E3 F3 G3 H3 

以上合并的结果是按照列方向进行合并,通过将df1和df2沿着列方向拼接,得到了一个新的数据帧。

总结

Pandas.concat()函数是实现数据拼接的重要工具,它能够将多个数据帧按照指定的方向进行合并,非常灵活。在实际数据处理和分析的过程中,我们经常需要拼接多个数据源,应用concat()函数能够方便地将它们统一起来,从而使数据分析变得更加高效、简单。

本文链接:http://task.lmcjl.com/news/17751.html

展开阅读全文