【发布时间】:2017-02-25 18:30:48
【问题描述】:
我想使用字典替换 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 所需的字典格式(即嵌套字典,其顶级键对应于列名),但我看不到任何特定于 Series 的内容。
【问题讨论】:
-
您需要分配回结果或传递参数
inplace=True例如s = s.replace(d)或s.replace(d, inplace=True),几乎所有 pandas 操作都会返回一个副本,因此您要么想要分配回去,要么在支持的情况下传递inplace=True -
试试这个:
s.replace(d, regex=True) -
@EdChum,
s.replace(d, inplace=True)- 没有做想要的替换 - 测试它... -
@MaxU 那行得通-谢谢。隐藏的假设 - 我正在寻找正则表达式匹配 - 不是完全匹配。自己没有意识到。
标签: python pandas dictionary replace