python - 如果其他两列在 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
解决方案
你可以做 :
df2['Material']=df2['PartNumber'].map(dict(zip(df1['PartNumber'],df1['Material']))).fillna(df2.Material)
推荐阅读
- python - BeautifulSoup 不能使用 if is None then continue 语句来避免 'NoneType' object is not subscriptable Type Error
- javascript - JS / lodash:一行代码变异和返回数据
- php - 并非所有在 POST 中传递的变量
- c++ - 如何仅在一个窗口中忽略注入的输入?
- node.js - 使用 NodeJs 上传文件
- python - 我正在尝试编写一个划分列 3 部分的函数
- c++ - 在 C++ 中异步执行 sql 查询
- ms-word - 如何确定从 Microsoft Office 文档中的数学方程式获得的 MathML 的显示模式
- arrays - np.nditer 在遍历子数组时不赋值
- tensorflow - CancelledError: [_Derived_]RecvAsync 被取消