【发布时间】:2020-05-06 02:15:03
【问题描述】:
我有两个要实现多个操作的数据框,例如:
old_DF
id col1 col2 col3
-------------------------
1 aaa
2 bbb 123
new_DF
id col1 col2 col3
-------------------------
1 xxx 999
2 xxx kkk
需要对这些数据帧执行以下操作:
- 合并两个数据框
- 仅将 old_DF 中的空白 (NA) 单元格替换为 new_DF 中的相应值
- 两个数据帧中值相互矛盾的单元格应在新数据帧中报告
期望的结果:
updated_df
id col1 col2 col3
-------------------------
1 aaa xxx 999
2 xxx bbb 123
conflicts_df
id col1 col2 col3
-------------------------
2 bbb
2 kkk
我可以使用.append() 方法来连接两个数据框,我想可以使用.bfil() 或.ffil() 方法来填充缺失值。但我对.bfil() 和.ffil() 都不成功。我试过df.groupby('id').apply(lambda x: x.ffill().bfill()).drop_duplicates(),但没有得到想要的结果。此外,我不明白如何执行上述第 3 步。有没有人可以帮助解决这个问题?
【问题讨论】:
标签: python pandas dataframe pandas-groupby