Python 困惑于如何根据条件从一个数据帧替换另一个数据帧中的值

Python 困惑于如何根据条件从一个数据帧替换另一个数据帧中的值,python,pandas,Python,Pandas,嗨,伙计们,我下面有两个数据框,不知道什么是实现这一点的最佳方法 input_df.columns 索引(['Username','Full Name','Email','Department',],dtype='object') 比较所有列 索引(['Email','Department','Username'],dtype='object') 如果电子邮件匹配,我要做的是替换输入中的department值 因此,如果电子邮件在input_df和compare_df中匹配,则将input_d

嗨,伙计们,我下面有两个数据框,不知道什么是实现这一点的最佳方法

input_df.columns
索引(['Username','Full Name','Email','Department',],dtype='object')
比较所有列
索引(['Email','Department','Username'],dtype='object')
如果电子邮件匹配,我要做的是替换
输入中的department值

因此,如果电子邮件在
input_df
compare_df
中匹配,则将
input_df
中的部门值替换为
compare_df

不确定如何迭代每一行并比较这一行使用+:


input_-df.merge(比较_-df[['Department','Email']],on='Department',how='left',后缀=(''x','').reidex(列=input_-df.columns)
?似乎不起作用。但新编辑我需要验证电子邮件和用户名。一些电子邮件是空白的,将填补空白
AttributeError:“tuple”对象没有属性“reindex”
很抱歉,它的
reindex
和没有在电话上键入reidrex。:)相同
AttributeError回溯(最近一次调用最后一次)在---->1 input_df.merge中(比较_df[['Department','Email']],on='Department',how='left',后缀=(''ux','').reindex(columns=input_df.columns))AttributeError:“tuple”对象没有属性“reindex”
hmm我们可以对电子邮件和用户名进行双重匹配吗?现在有人没有电子邮件,很多事情都是这样。但是这太接近了,谢谢你。如果是这样的话,你可能需要使用@anky_91建议的合并,你能展示一下你的数据帧和预期的示例吗d输出?如果无法验证解决方案,则很难编写代码,非常感谢。欢迎您的帮助!:)
input_df['Department']=( input_df['Email'].map(compare_df.set_index('Email')['Department']) 
                                          .fillna(input_df['Department']) )