如何使用 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))
我有一个数据框,其中一些值需要更新。但是,我想保留当前没有键值的值。
我尝试了其他代码,但是当我 运行 代码时,它会将所有没有密钥对的值更改为 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))