我有两个相似的数据框。如果df2['Material']
和df1['Material']
匹配,我想用df1['PartNumber']
中的值填充df2['PartNumber']
。我可以用Pandas(或一般来说是Python)完成此操作吗?数据帧各有几千行,它们仅仅是片段。
df1
PartNumber Material ProgramNo Machine
114 JEFD0302000 E 304L O0219 CHNC III
218 REFD0502050 B 6AL-4V O0295 CHNC III
df2
PartNumber ProgramNo Machine Material
0 JEFD0302670 A 6109 + 6609 WY-100 NaN
1 JEFD0510820 A 6110 + 6610 WY-100 NaN
答案 0 :(得分:2)
您可以:
df2['Material']=df2['PartNumber'].map(dict(zip(df1['PartNumber'],df1['Material']))).fillna(df2.Material)
答案 1 :(得分:1)
将np.where
与map
一起使用
s=df2.PartNumber.map(df1.set_index('PartNumber').Material)
df2.Material=np.where(df2.PartNumber.isnull(),s,df2.Material)