我想合并两个数据帧。 DF1有这种形式
index c1 c2
a1 1 2
a1 2 1
a1 3 1
b1 5 2
b1 4 7
DF2是另一组数据,它共享索引的精简版本
index c3 c4
a1 9 10
b1 7 8
我想用DF2中的数据填充DF1
index c1 c2 c3 c4
a1 1 2 9 10
a1 2 1 9 10
a1 3 1 9 10
b1 5 2 7 8
b1 4 7 7 8
最有效的方法是什么?
答案 0 :(得分:3)
您想要outer merge并设置left_index=True, right_index=True
:
In [65]:
DF1.merge(DF2, how='outer', left_index=True, right_index=True)
Out[65]:
c1 c2 c3 c4
index
a1 1 2 9 10
a1 2 1 9 10
a1 3 1 9 10
b1 5 2 7 8
b1 4 7 7 8
外join
也适用:
In [66]:
DF1.join(DF2, how='outer')
Out[66]:
c1 c2 c3 c4
index
a1 1 2 9 10
a1 2 1 9 10
a1 3 1 9 10
b1 5 2 7 8
b1 4 7 7 8