3 回答
TA贡献1866条经验 获得超5个赞
正如我对您的示例所了解的那样,您df1从index 和 column的df2基础上进行更新。您需要添加到索引并调用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条经验 获得超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条经验 获得超5个赞
您可以使用以下方法执行此操作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
添加回答
举报