【问题标题】:How do I apply a regex substitution in a string column of a DataFrame?如何在 DataFrame 的字符串列中应用正则表达式替换?
【发布时间】:2015-12-05 21:21:14
【问题描述】:

我有一个名为“Animals”的 DataFrame,如下所示:

 Words
 The Black Cat
 The Red Dog

我想在每个单词前添加一个加号,使其看起来像这样:

 Words
 +The +Black +Cat
 +The +Red +Dog

我已经尝试过使用正则表达式,但它不起作用:

 df = re.sub(r'([a-z]+)', r'+\1', Animals)

【问题讨论】:

    标签: python regex pandas dataframe substitution


    【解决方案1】:

    您可以使用str.replace 和以下正则表达式来更改列的所有行:

    df.Words = df.Words.str.replace(r'(\b\S)', r'+\1')
    

    DataFrame 如下所示:

    >>> df
                  Words
    0  +The +Black +Cat
    1    +The +Red +Dog
    

    【讨论】:

    • 很好,感谢您的解决方案。我不知道原始问题的一部分,但想知道这是否也可以用于删除单词之间的空格?
    • @user3682157:没问题,很高兴它有帮助。要删除所有空格,您也许可以使用df.Words.str.replace(r'\s', r'')
    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 2021-10-07
    • 2018-07-13
    • 2015-11-30
    • 2021-11-29
    相关资源
    最近更新 更多