pandas concat,但从左df获取重复的键行

问题描述 投票:0回答:1

希望很简单。我有下面的2 dfs。我想用df2填充df1中任何PORT,MTH组合的空白。我不能只是concat和drop_duplicates,因为值可能不匹配,我想保留df1条目(如果存在)。

DF1

MTH,PORT,value
201503,PORT1,0.302
201504,PORT1,0.231
201505,PORT1,0.833
201502,PORT2,0.35
201503,PORT2,0.734
201504,PORT2,0.755
201505,PORT2,0.257

DF2

MTH,PORT,value
201501,PORT1,0.4033
201502,PORT1,0.2733
201503,PORT1,0.1412
201501,PORT2,0.324
201502,PORT2,0.6593
201503,PORT2,0.276

因此,对于以上内容,我想创建1个df,对于PORT1,其具有来自DF2的201501和201502条目,因为DF1没有它们,但保留了其余的DF1 PORT条目。对于PORT2,我们只需输入201501条目即可。

换句话说,这是一个concat,但如果键(mth,port)是重复的,请从左df取。

提前感谢

期望的输出

MTH,PORT,value
201501,PORT1,0.4033
201502,PORT1,0.2733
201503,PORT1,0.302
201504,PORT1,0.231
201505,PORT1,0.833
201501,PORT2,0.324
201502,PORT2,0.35
201503,PORT2,0.734
201504,PORT2,0.755
201505,PORT2,0.257
python pandas concat
1个回答
0
投票

让我们尝试

df=pd.concat([df1,df2]).drop_duplicates(['MTH','PORT'])
© www.soinside.com 2019 - 2024. All rights reserved.