在Pandas中串联数据帧可以使用concat函数,该函数的axis参数指定了操作方向(行 or 列),若要添加标识符列(也称索引),可以使用keys参数。
以下是完整的攻略:
1.导入Pandas库
import pandas as pd
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({'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']})
3.使用concat函数串联数据帧
下面的代码将三个数据帧沿着列方向串联:
result = pd.concat([df1,df2,df3], axis=1)
4.添加索引列
为了添加索引列,我们需要为每个原始数据帧(df1,df2,df3)指定一个标识符,这个标识符将成为最终数据帧的索引列。
例如,我们可以使用keys参数来指定标识符,并将所有数据帧串联起来,同时将标识符集合作为索引:
result = pd.concat([df1,df2,df3], keys=['df1','df2','df3'])
执行该操作后,我们获得的数据帧将会在每个行的开头插入一个名为‘df1’、‘df2’、‘df3’的标识符,表示该行数据来自于哪个原始数据帧。
下面是完整代码示例:
import pandas as pd
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']})
result = pd.concat([df1,df2,df3], keys=['df1','df2','df3'])
print(result)
以上代码的输出结果为:
A B C D
df1 0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
df2 0 A4 B4 C4 D4
1 A5 B5 C5 D5
2 A6 B6 C6 D6
3 A7 B7 C7 D7
df3 0 A8 B8 C8 D8
1 A9 B9 C9 D9
2 A10 B10 C10 D10
3 A11 B11 C11 D11
我们可以看到,在每个行的开头都添加了标识符,以表示该行数据来自于哪个原始数据帧。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在串联Pandas数据帧时添加标识符列 - Python技术站