【问题标题】:How to find/replace string field in dataframe?如何在数据框中查找/替换字符串字段?
【发布时间】:2020-01-06 15:45:30
【问题描述】:

我想用".DE"替换以".F"结尾的字符串

我试过了:

data["field"] = data.field.str.replace(".F",".DE") 

但奇怪的是,它将"BFb.N" 替换为".DEb.N"

有什么建议吗?

【问题讨论】:

    标签: python string dataframe replace


    【解决方案1】:

    Pandas String Replace

    您可能认为".F" 意味着查找 .F 并替换它,但事实并非如此。它不是将".F" 视为字符串,而是将其视为正则表达式,这是完全不同的事情。在正则表达式中,".F" 表示任何字符加 F,这就是您看到这种行为的原因。保持使用正则表达式,您可以将 \ 添加到您的 . 以使其成为文字句点,例如 "\.F",它应该可以解决您的问题。

    或者,您可以告诉 pandas 不要将其视为正则表达式,它也应该可以解决您的问题

    data.field.str.replace(".F",".DE", regex=False)
    

    【讨论】:

    • @Nite 随意接受这个作为正确答案,以便其他人可以找到它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    相关资源
    最近更新 更多