如何解决替换功能python无法正常工作
我正在使用替换函数在数据帧中将值“ C”或“ c”替换为1。大多数值都是正确的,但是有些值的取值范围小于1或非常接近0。这就是我正在使用的代码。
in ---> [-,C,-,C]
df["name"]= df["name"].replace("C" and "c",int(1))
out ---> [-,1,0.0054,0.9992]
在某些情况下,结果将c
更改为0.9992
或类似的内容。
任何有关此的建议都很好。谢谢
解决方法
str.replace
只能用于替换单个表达式。要用相同的值替换多个表达式,应使用regex。
我们将在这里使用re.sub
,这是一种替换方法,它使用给定的替换字符串替换每个正则表达式匹配项。
在此示例中,我们希望将c
或C
替换为字符1
,并希望在字符串Cabc
上执行
import re
re.sub('[cC]','1','Cabc')
# Output >>> 1ab1
,
replace
一次只处理一个子字符串。
因此,根据您的情况,您可以使用for
循环多次调用replace
。
for str_to_replace in ("C","c"):
df["name"] = df["name"].replace(str_to_remove,'1')
但是在处理大/小字符串时,最好使用正则表达式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。