【发布时间】:2021-09-02 07:39:21
【问题描述】:
我试图弄清楚如何合并两个(或更多)熊猫数据框,如下所示:
df1:
| ant | nac |
| uyn | yam | qlv | udb | rkd |
---|-----|-----|-----|-----|-----|
X1 | 6 | 1 | 8 | 4 | 5 |
X2 | 4 | 5 | 3 | 5 | 4 |
X3 | 2 | 9 | 2 | 9 | 4 |
df2:
| baz | ant |
| rjv | ifz | uyn | pgc | yam |
---|-----|-----|-----|-----|-----|
X1 | 2 | 1 | 7 | 3 | 8 |
X2 | 9 | 7 | 3 | 1 | 4 |
X3 | 2 | 1 | 6 | 2 | 9 |
进入这样的数据框:
| ant | nac | baz |
| uyn | yam | pgc | qlv | udb | rkd | rjv | ifz |
| df1 | df2 | df1 | df2 | df2 | df1 | df1 | df1 | df2 | df2 |
X1 | 6 | 7 | 1 | 8 | 3 | 8 | 4 | 5 | 2 | 1 |
X2 | 4 | 3 | 5 | 3 | 1 | 3 | 5 | 4 | 9 | 7 |
X3 | 2 | 6 | 9 | 2 | 2 | 2 | 9 | 4 | 2 | 1 |
我尝试使用concat,但随后卡住了按正确顺序对每个级别中的项目进行排序(因为项目未按字母顺序排序)。尝试reindex 并以很多空列结束,因为 *udb` 上的 ant 等的交叉点。
也许我把事情复杂化了。有没有更简单的方法来做到这一点?
【问题讨论】:
-
未显示您尝试过的代码,可能添加一个minimal reproducible example 进行优化。