gpt4 book ai didi

python to_replace 字符串不等于一个值?

转载 作者:行者123 更新时间:2023-12-05 02:17:37 24 4
gpt4 key购买 nike

我知道要替换列中的字符串只是:

df['surf'].replace(to_replace='Grass', value='Turf')

这将在我的专栏中将“Grass”的所有值替换为“Turf”。但我想要相反的东西。我尝试使用 != 或 ~ 进行查找,但没有成功。

如果我想将所有不是“Grass”的值都替换为“Turf”怎么办

编辑:我应该添加,我可以用:

df.loc[df['surf'] != 'Grass', 'surf'] = 'Turf'

但想知道是否有办法使用 .replace

最佳答案

您可以使用否定前瞻和正则表达式模式来执行您想要的操作:

df['surf'] = df['surf'].replace(to_replace=r"^(.(?<!Grass))*?$", value='Turf',regex=True)

(匹配除取自 How to negate specific word in regex? 的单词 trick 之外的所有内容)


或者,使用 str.replace,它默认执行基于正则表达式的替换:

df['surf'] = df['surf'].str.replace(r"^(.(?<!Grass))*?$", "Turf")

关于python to_replace 字符串不等于一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47422253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com