我正在尝试将我称之为覆盖映射的内容应用于数据帧。基本上,我希望从wkydf
HistTeamNm
使用默认值,除非我的映射表mpdf
具有不同的值。我之前使用过类似的逻辑,但它运行良好。
我想出了以下内容:
wkydf['ManHistTeam']=wkydf['HistTeamNm']
wkydf.loc[wkydf.UsrIDWkYr.isin(mpdf.UsrIDWkYr),
['ManHistTeam']]=mpdf[['ManHistTeam']]
wkydf['InManMap']='N'
wkydf.loc[wkydf.UsrIDWkYr.isin(mpdf.UsrIDWkYr),['InManMap']]='Y'
所以
wkydf.loc[wkydf.UsrIDWkYr.isin(mpdf.UsrIDWkYr),
['ManHistTeam']]=mpdf[['ManHistTeam']]
目前正在给我的空白但是在正确的行中,所以我非常确定识别要覆盖的行的逻辑是否有效。
此外,当我将mpdf[['ManHistTeam']]
更改为静态Y
时,我得到Y
我期待的地方。我还导出了映射表,字符串在预期的列中。我无法弄清楚为什么逻辑返回空格而不是映射表中的字符串。