python正则表达式删除数据框列中的所有内容,但不应该这样

时间:2017-11-29 14:31:48

标签: python pandas

我希望用正则表达式编写一个python函数,它将删除括号内的所有文本和来自同一字符串的任何数值。我想将此函数应用于我的pandas数据帧中的Column1。下面是我到达的地方,但是当我运行代码时,所有字符串都会消失,我最终会得到一个空的Column1。任何想法我做错了..column1只是带有some()和一些数字数据的文本

import re
    def delParenthesis(stringToReplace):
        re.sub(r'\([^()]*\)|[0-9]','', stringToReplace)

    df['Column1'] = df['Column1'].apply(delParenthesis)

1 个答案:

答案 0 :(得分:1)

问题是DataFrame.apply期望应用函数返回其结果。

import re
def delParenthesis(stringToReplace):
    return re.sub(r'\([^()]*\)|[0-9]','', stringToReplace)

df['Column1'] = df['Column1'].apply(delParenthesis)