替换一系列熊猫中的值

gri*_*per 4 python regex replace series pandas

为什么当我想替换一个值时,我必须使用这段代码:

data['Organization'].str.replace('Greece','Rome')
Run Code Online (Sandbox Code Playgroud)

为什么我不能使用这个:

data['Organization'].replace('Greece','Rome').
Run Code Online (Sandbox Code Playgroud)

我之前见过其他人使用方法二而没有传递字符串方法。我的问题是我可以使用替换函数传递一个系列方法吗?代码行是什么?

jpp*_*jpp 7

pd.Series.replace不同于pd.Series.str.replace:

这是一个演示差异的最小示例:

df = pd.DataFrame({'A': ['foo', 'fuz', np.nan]})

df['B'] = df['A'].replace(['foo', 'fuz'], ['food', 'fuzzy'])
df['C'] = df['A'].str.replace('f.', 'ba', regex=True)

print(df)

     A      B    C
0  foo   food  bao
1  fuz  fuzzy  baz
2  NaN    NaN  NaN
Run Code Online (Sandbox Code Playgroud)