我有一个如下所示的示例数据框:
df = pd.DataFrame({'name': ['red', 'orange', 'blue'],
'value': [22,44,66]})
name value
0 red 22
1 orange 44
2 blue 66
我需要在列中替换red
为1
和blue
并2
保留orange
原样name
。
我使用如下的地图功能:
df.name.map({'red': 0, 'blue': 1})
我得到的结果是:
name value
0 0.0 22
1 NaN 44
2 1.0 66
在该列中,orange
成为NaN
替换值的最佳方法是什么?
我不想df.name.str.replace(..)
多次替换很多值。在我的实际数据中,一列中要替换10个值。谢谢。
您可以使用Series.replace
:
print (df["name"].replace({'red': 0, 'blue': 1}))
0 0
1 orange
2 1
Name: name, dtype: object
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句