我有两个这样的数据框:
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 方式最有效地完成它的 pandas 快捷方式。
最佳答案
使用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
关于python - 使用 pandas 将两个数据帧与一行数据框组合在一起,然后是另一行数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58024713/