如何使用 MAP 文件更新 Pandas DF,但如果没有密钥对,则保留默认值

How to update Pandas DF using a MAP file, but leave the default value if there is no key pair

我有一个数据框,其中一些值需要更新。但是,我想保留当前没有键值的值。

我尝试了其他代码,但是当我 运行 代码时,它会将所有没有密钥对的值更改为 NaN。

我怎么去

Df

City       Employer
Toronto    Magna's Automotive
Toronto    Manga
Vancouver  Dunder
Calgary    Flames

映射文件

d = {'Manga':"Magna's Automotive",
     'Dunder': 'Dunder Mifflin',}

Df-期望

City       Employer
Toronto    Magna's Automotive
Toronto    Magna's Automotive
Vancouver  Dunder Mifflin
Calgary    Flames

您可以使用:

df['Employer'] = df['Employer'].map(d).fillna(df['Employer'])

输出:

        City            Employer
0    Toronto  Magna's Automotive
1    Toronto  Magna's Automotive
2  Vancouver      Dunder Mifflin
3    Calgary              Flames

或者,使用 update 进行就地修改:

df.update(df['Employer'].map(d))