3 回答

TA貢獻1866條經(jīng)驗 獲得超5個贊
正如我對您的示例所了解的那樣,您df1從index 和 column的df2基礎(chǔ)上進行更新。您需要添加到索引并調(diào)用datedeptdeptupdate
df1 = df1.set_index('dept', append=True)
df1 = df1.update(df2.set_index('dept', append=True))
df1 = df1.reset_index('dept')
Out[35]:
dept col2 col3
date
2020-05-06 A 64 21
2020-05-07 B 41 12
2020-05-08 C 95 15
2020-05-09 D 58 9
2020-05-10 E 89 13
2020-05-11 F 37 87
2020-05-12 G 24 9
2020-05-13 H 67 63

TA貢獻1858條經(jīng)驗 獲得超8個贊
concat那時你可以使用groupby
df_out=pd.concat([df1,df2],sort=False).groupby(level=0).last()
Out[261]:
col2 col3 dept
date
2020-05-06 64 21.0 A
2020-05-07 41 12.0 B
2020-05-08 95 15.0 C
2020-05-09 58 9.0 D
2020-05-10 89 13.0 E
2020-05-11 37 87.0 F
2020-05-12 24 9.0 G
2020-05-13 67 63.0 H

TA貢獻1836條經(jīng)驗 獲得超5個贊
您可以使用以下方法執(zhí)行此操作df.update:
In [2162]: df1['col2'].update(df2['col2'])
In [2163]: df1
Out[2163]:
col2 col3 dept
date
2020-05-06 64 21 A
2020-05-07 41 12 B
2020-05-08 95 15 C
2020-05-09 58 9 D
2020-05-10 89 13 E
2020-05-11 37 87 F
2020-05-12 24 9 G
2020-05-13 67 63 H
添加回答
舉報