首页 > 解决方案 > 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

任何关于我做错的提示/建议将不胜感激!

标签: pythonpandasmerge

解决方案


推荐阅读