我有两个数据框,其结构类似于以下内容:
df1
id name val
1 a 23
2 b 90
4 c 72
df2
id name val
1 d 88
3 e 12
4 f 11
我希望它们合并,以便生成的数据框如下所示:
df1 df2
name val name val
idx 1 a 23 d 88
2 b 90 na na
3 na na e 12
4 c 72 f 11
如何在 pandas 中实现这一目标?
import pandas as pd
df1 = pd.DataFrame({"id":[1,2,3], "name":["a","b","c"], "val":[23,90,72]})
df2 = pd.DataFrame({"id":[1,3,4], "name":["d","e","f"], "val":[88,12,11]})
df3 = pd.concat([df1.set_index("id"), df2.set_index("id")], axis=1)
name val name val
id
1 a 23.0 d 88.0
2 b 90.0 NaN NaN
3 c 72.0 e 12.0
4 NaN NaN f 11.0