我搜索了stackoverflow,并浏览了一些与此相关的问题,即
Remap values in pandas column with a dict
关键区别在于这些问题回答了如何用相同列上的键和字典中的值替换列值。
例如:
import pandas as pd
df = pd.DataFrame({'key': ['bacd', 'fdvdf', 'scsdc'],
'value': [1, 2, 4]})
df['key'].replace({'bacd' : 200, 'sdfvs': 5000}, inplace=True)
key value
0 200 1
1 fdvdf 2
2 scsdc 4
我正在尝试使用字典中的键来标识行,但是更新其他列(在这种情况下为值)而不是键列。 / p>
所需的输出:
key value
0 bacd 200
1 fdvdf 2
2 scsdc 4
谢谢。
答案 0 :(得分:1)
将 map
与 fillna
dct = {'bacd': 200, 'sdfvs': 5000}
df.assign(value=df.key.map(dct).fillna(df.value))
key value
0 bacd 200.0
1 fdvdf 2.0
2 scsdc 4.0