我有两个想要合并的数据帧.DF1有这种形式
index c1 c2
a1 1 2
a1 2 1
a1 3 1
b1 5 2
b1 4 7
Run Code Online (Sandbox Code Playgroud)
DF2是另一组数据,它共享索引的精简版本
index c3 c4
a1 9 10
b1 7 8
Run Code Online (Sandbox Code Playgroud)
我想用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
Run Code Online (Sandbox Code Playgroud)
最有效的方法是什么?
您想要进行外部合并并设置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
Run Code Online (Sandbox Code Playgroud)
外部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
Run Code Online (Sandbox Code Playgroud)