首页 > 解决方案 > 如果其他两列在 Pandas 中有匹配的值,如何用另一个数据框的值填充空列值?

问题描述

我有两个相似的数据框。我想用if和matchdf2['Material']的值填充。我可以用 Pandas(或一般的 Python)来完成这个吗?每个数据帧有几千行,这些只是片段。df1['Material']df1['PartNumber']df2['PartNumber']

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

标签: pythonpandas

解决方案


你可以做 :

df2['Material']=df2['PartNumber'].map(dict(zip(df1['PartNumber'],df1['Material']))).fillna(df2.Material)

推荐阅读