请考虑:
df1 = pd.DataFrame({'a':(1,2,3,4),'b':(10,20,30,40),'c':(100,200,300,400)})
df2 = pd.DataFrame({'a':(1,2,3),'b':(10,20,30),'c':(1111,2222,3333)})
df1: df2:
a b c a b c
0 1 10 100 0 1 10 1111
1 2 20 200 1 2 20 2222
2 3 30 300 2 3 30 3333
3 4 40 400
执行以下操作:
df1.set_index(['a', 'b']).loc[df2.set_index(['a', 'b']).index, 'c'] = df2.c
我对df1的期望是:
a b c
0 1 10 1111
1 2 20 2222
2 3 30 3333
3 4 40 400
结果是:
a b c
0 1 10 100
1 2 20 200
2 3 30 300
3 4 40 400
你能帮我实现我的预期目标并解释我的失败吗?