I'm trying to figure out how can I merge two (or more) pandas dataframes like this:
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 |
into a dataframe like this:
| 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 |
I've tried to use concat
, but then stuck sorting items in each level in the right order (as items are not alphabetically sorted). Tried reindex
and ended with a lot of empty columns because of intersections of ant on *udb` and such.
Maybe I'm over complicating things. Is there some easier way to do this?