首页 > 解决方案 > 如果 col 的行中的 str1==str 在另一个 col 的行中,则设置第三个 col 的 str1=str2

问题描述

我有一个合并的数据框,我想在其中检查“profile”列的行中包含的每个字符串与“right_side”列中的每个字符串。如果这两个字符串相等,我想将“profile”列中的 str 替换为“left_side”列中的 str。出于某种原因,我对此感到非常困难,并且尝试了 .loc、dict、map 和 .at 方法,但必须缺少一个组件,每个组件都没有工作。这是数据框:

profile             left_side                       right_side
DevOps Developer    NaN                             NaN     
Software Developer  Software Development Developer  Software Developer
Software Developer  Software Development Developer  Software Developer
Quality Assurance   Quality Assurance Engineer      Quality Assurance

十分感谢你的帮助!

标签: pythonpandasreplacepandas-loc

解决方案


df.loc[(df["Profile"]==df["right_side"]),"Profile"]=df["left_side"]
print(df)

                          Profile  ...          right_side
0                DevOps Developer  ...                 NaN
1  Software Development Developer  ...  Software Developer
2  Software Development Developer  ...  Software Developer
3      Quality Assurance Engineer  ...   Quality Assurance

[4 rows x 3 columns]

这就是你所追求的吗?


推荐阅读