用字典替换pandas系列中的值

时间:2016-10-16 20:28:05

标签: python pandas dictionary replace

我想使用字典替换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}的特定内容}。

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