____ ### update:降级到.23.4产生了预期的结果-.24和.24.1产生了以下结果。其他人看到了吗?关于更新以下语法以获得所需结果的任何建议?谢谢!
series.replace的代码不再与以前的熊猫版本相同,并且在查找文档中的更改和/或调整代码以适应我时遇到了麻烦(我最近升级到了.24.1)
我通常通过s.replace:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.replace.html
通过字典来搜索和替换df给定列(或系列)中的子字符串。过去,大熊猫会替换出现在字符串中间/结尾的子字符串,但现在看来只有在模式开始时才起作用。
我看到文档提到re.sub之后传递了一个字典并使用了正则表达式,但是当我尝试这样做时,我得到了想要的结果(不是一只大熊猫产出的)。将不胜感激a)关于更改的任何参考和/或b)帮助调整代码,使其与以下re.sub示例类似-谢谢!
import pandas as pd
import re
s = pd.Series(['hello there', 'well hello then'])
print(s)
'''OUTPUT
0 hello there
1 well hello then
dtype: object
'''
s.replace({'hello' : 'goodbye'}, regex=True, inplace=True)
print(s)
'''OUTPUT
0 goodbye there
1 well hello then #<-not replaced
dtype: object
'''
x = re.sub('hello','goodbye', 'hello there')
print(x)
#out: goodbye there
x = re.sub('hello','goodbye', 'well hello then')
print(x)
#out: well goodbye then #<-expected result