标签: python pandas
我有两个数据帧,df1和df2。
DF1:
ID Label 1 a 2 b 5 c
DF2:
ID 1 2 3
我想创建一个新列"标签"在df2中通过比较两个数据帧。如果id匹配,则df2中的label应等于df1中的label。如果在df1中没有出现id,我想要0.所以最终的df2看起来像这样:
ID Label 1 a 2 b 3 0
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
您可以使用map,然后将NaN替换为fillna:
map
NaN
fillna
df2['Label'] = df2['ID'].map(df1.set_index('ID')['Label']).fillna(0) print (df2) ID Label 0 1 a 1 2 b 2 3 0