我有以下数据框:
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
我想在日期和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
任何关于我做错事情的提示/建议将不胜感激!