熊猫:根据第二个df中的值有条件地填充多个列

时间:2019-10-15 14:14:20

标签: python pandas

编辑:这是一个重复项:解决方案是df_data.merge(Names,on ='uniqueID',how ='left')

我有一个词典(名称),将'uniqueID'编号与其他col值相关:

Names = pd.DataFrame({'uniqueID': [1,2,3,4],
                   'col2': ['aa', 'bb', 'cc', 'dd'],
                   'col3': [100,200,100,200]
                   })

和第二个唯一ID的df,我要将col2,col3的对应值附加到该值:

df_data = pd.DataFrame({'name': ['alex', 'bob','carl','david', 'Edward', 'frank'],
                        'uniqueID': [4,4,2,1,3,4]
                       })

这样最终结果将是这样:

df_data_final = pd.DataFrame({'name': ['alex', 'bob','carl','david', 'Edward', 'frank'], 
                              'uniqueID': [4,4,2,1,3,4],
                              'col2': ['dd', 'dd', 'bb','aa','cc','dd'], #mathed from col 2 of Names
                              'col3': [200,200,200,100,100,200] #matched from col3 of Names
                   })

0 个答案:

没有答案