我想使用字典替换pandas Series
中的值。我关注@ DSM' accepted answer就像这样:
s = Series(['abc', 'abe', 'abg'])
d = {'b': 'B'}
s.replace(d)
但这没有任何影响:
0 abc
1 abe
2 abg
dtype: object
documentation解释了DataFrames
所需的dict格式(即带有与列名对应的顶级键的嵌套词组),但我看不到{{1}的特定内容}。
答案 0 :(得分:6)
您可以使用regex=True
参数执行此操作:
In [37]: s.replace(d, regex=True)
Out[37]:
0 aBc
1 aBe
2 aBg
dtype: object
由于您已经found out yourself - 这是一个RegEx替代品,它将无法正常工作:
In [36]: s.replace(d)
Out[36]:
0 abc
1 abe
2 abg
dtype: object
这是按预期工作的:
In [38]: s.replace({'abc':'ABC'})
Out[38]:
0 ABC
1 abe
2 abg
dtype: object