为什么要替换一个值,我必须使用以下代码块:
data['Organization'].str.replace('Greece','Rome')
为什么我不能使用这个:
data['Organization'].replace('Greece','Rome').
我已经看到其他人在没有传递字符串方法的情况下使用了方法二。 我的问题是我可以通过使用replace函数的一系列方法,代码行是什么?
答案 0 :(得分:2)
pd.Series.replace
与pd.Series.str.replace
不同:
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
答案 1 :(得分:1)
str.replace
默认会进行基于正则表达式的替换,该替换也可用于部分匹配。除非replace
标志设置为true,否则默认情况下,regex
(OTOH)将仅基于完全匹配执行替换。
data['Organization'] = (
data['Organization'].replace({'Greece': 'Rome'}, regex=True))