替换一系列熊猫中的值[重复]
Posted
技术标签:
【中文标题】替换一系列熊猫中的值[重复]【英文标题】:Replace values in a series pandas [duplicate] 【发布时间】:2019-02-05 20:15:45 【问题描述】:当我想替换一个值时,我必须使用这个代码块:
data['Organization'].str.replace('Greece','Rome')
为什么我不能用这个:
data['Organization'].replace('Greece','Rome').
我以前见过其他人使用方法二而没有传递字符串方法。 我的问题是我可以使用替换函数传递一个系列方法吗?代码行是什么?
【问题讨论】:
【参考方案1】:str.replace
默认情况下会进行基于正则表达式的替换,这也适用于部分匹配。 replace
,OTOH,默认情况下只会根据完全匹配执行替换,除非 regex
标志设置为 true。
data['Organization'] = (
data['Organization'].replace('Greece': 'Rome', regex=True))
【讨论】:
【参考方案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
【讨论】:
以上是关于替换一系列熊猫中的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章