展开并合并Pandas数据帧

时间:2015-09-09 13:05:23

标签: python pandas

我想合并两个数据帧。 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

最有效的方法是什么?

1 个答案:

答案 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