pandas的concat()函数用于连接(合并)pandas对象,如Series、DataFrame或Panel,沿指定的轴进行连接。
语法:
pandas.concat(objs, axis=0, join=‘outer’, ignore_index=False, keys=None)
参数说明:
- objs: 要连接的pandas对象的序列或映射。通常为Series或DataFrame对象。
- axis: 指定连接的轴,0表示按行连接,1表示按列连接。
- join: 指定连接的方式,默认为’outer’表示取并集。可选值为’inner’表示取交集。
- ignore_index: 是否忽略原始对象的索引。默认为False,表示保留原始索引。
- keys: 用于构建层次化索引的键值,可以是任意值。
pandas库提供了concat()
函数用于将多个数据集按照指定的轴方向进行拼接,可以有以下几种常见的用法:
- 按行拼接:将多个数据集按照行的方向进行拼接,即把多个数据集竖向拼接在一起。示例代码如下:
import pandas as pddf1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})result = pd.concat([df1, df2])
print(result)
- 按列拼接:将多个数据集按照列的方向进行拼接,即把多个数据集横向拼接在一起。示例代码如下:
import pandas as pddf1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})result = pd.concat([df1, df2], axis=1)
print(result)
- 指定索引:通过
ignore_index
参数可以重新生成新的索引,示例代码如下:
import pandas as pddf1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})result = pd.concat([df1, df2], ignore_index=True)
print(result)
- 指定连接方式:通过
join
参数可以指定拼接的方式,可选的取值包括'inner'
、'outer'
。默认为'outer'
表示并集,'inner'
表示交集。示例代码如下:
import pandas as pddf1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [2, 3, 4], 'B': [5, 6, 7]})result = pd.concat([df1, df2], join='inner')
print(result)
以上是常见的几种concat()
函数的用法,根据具体的数据拼接需求,可以灵活选择合适的参数来处理数据。