python - Pandas 数据框合并两个公共键并包含缺失值
问题描述
我有以下数据框:
df1 = Date Id PB
2019-08-26 A 65.0
2019-08-27 A 67.0
2019-08-28 A 67.0
2019-08-29 A 68.0
2019-08-30 A 66.0
2019-08-31 A 64.0
2019-09-01 A NaN
2019-09-03 B 90.0
2019-09-04 B NaN
df2 = Date Id cost prof
2019-08-27 A 370.0 33.0
2019-08-28 A 331.0 23.5
2019-08-29 A 294.0 22.5
2019-08-30 A 394.0 3.0
2019-08-31 A 310.5 25.0
2019-09-04 B 502.5 59.0
2019-09-03 B 53.0 3.0
2019-09-05 B 515.5 46.0
2019-09-06 B 468.5 44.0
我想合并 Date 和 Id 以给出以下结果:
Date Id cost prof PB
2019-08-26 A NaN NaN 65.0
2019-08-27 A 370.0 33.0 67.0
2019-08-28 A 331.0 23.5 67.0
2019-08-29 A 294.0 22.5 68.0
2019-08-30 A 394.0 3.0 66.0
2019-08-31 A 310.5 25.0 64.0
2019-09-01 A NaN NaN NaN
2019-09-03 B 53.0 3.0 90.0
2019-09-04 B 502.5 59.0 NaN
2019-09-05 B 515.5 46.0 NaN
2019-09-06 B 468.5 44.0 NaN
试图
merged = pd.merge(df1,df2,on=['Id','Date'], how = 'inner')
结果
Date Id cost prof PB
0 2019-08-27 A 370.0 33.0 67.0
1 2019-08-28 A 331.0 23.5 67.0
2 2019-08-29 A 294.0 22.5 68.0
3 2019-08-30 A 394.0 3.0 66.0
4 2019-08-31 A 310.5 25.0 64.0
5 2019-09-04 B 502.5 59.0 91.0
6 2019-09-03 B 53.0 3.0 90.0
7 2019-09-05 B 515.5 46.0 89.0
8 2019-09-06 B 468.5 44.0 89.0
任何关于我做错的提示/建议将不胜感激!
解决方案
推荐阅读
- python - 在 Python 中使用 ipywidget 时水平滚动条不起作用
- xamarin.forms - Xamarin.iOS MessagingRemoteException:Build1660001055
- reactjs - 将对象推送到状态为 React ERROR 的数组(对象无效...)
- python - 为什么我不能抓取我想要的表格?
- jenkins-pipeline - 使用 untilEach openshift jenkins 客户端插件检查 openshift 中上次构建的状态
- c++ - 我可以强制提升在 Windows 上更喜欢正斜杠吗?
- odoo - 如何从 Odoo13 中的自定义模块生成发票?
- c - 有没有办法在没有所有重复 if 语句的情况下完成以下循环?
- json - 在角度2+的连接方法中插入html标签不起作用
- python - Python-为什么即使我输入了应该可以使用的密码,它也会说密码被拒绝?