我有两个这样的数据框:
df1
col1 col2
A 1
B 2
C 3
df2
col1 col2
E 4
F 5
G 6
我想通过以这样一种方式组合这些数据帧来创建一个数据帧,即一行df1,然后一行df2。
所需的输出是
df
col1 col2
A 1
E 4
B 2
F 5
C 3
G 6
我可以使用for循环执行此操作,并将行从两个数据帧附加到单个数据帧中,
但是我正在寻找以pythonic方式最有效地实现熊猫的快捷方式。
最佳答案
将concat
与DataFrame.stack
一起使用:
df = pd.concat([df1, df2], 1, keys=(0,1)).stack(0).reset_index(drop=True)
print (df)
col1 col2
0 A 1
1 E 4
2 B 2
3 F 5
4 C 3
5 G 6
要么:
df = pd.concat([df1, df2]).sort_index().reset_index(drop=True)
print (df)
col1 col2
0 A 1
1 E 4
2 B 2
3 F 5
4 C 3
5 G 6