在 Pandas 数据框列中删除标点符号和特殊字符的更快方法

Raj*_*ppu 2 python regex pandas

我正在使用下面的代码从熊猫数据框中的列中删除特殊字符和标点符号。但是这种使用 regex.sub 的方法并不省时。是否还有其他选项可以尝试提高时间效率并删除标点符号和特殊字符?或者我删除特殊字符并将其解析回列的方式,pandas 数据框导致我的主要计算消耗?

for n, string in data['text'].iteritems():
   data['text'] = re.sub('([{string.punctuation}“”¨«»®´·º½¾¿¡§£?‘’])','', string)
Run Code Online (Sandbox Code Playgroud)

Vai*_*ali 7

一种方法是只保留字母数字。考虑这个数据框

df=pd.DataFrame({'Text':['#^#346fetvx@!.,;:', 'fhfgd54@!#><?']})

    Text
0   #^#346fetvx@!.,;:
1   fhfgd54@!#><?
Run Code Online (Sandbox Code Playgroud)

您可以使用

df['Text'] = df['Text'].str.extract('(\w+)', expand = False)

    Text
0   346fetvx
1   fhfgd54
Run Code Online (Sandbox Code Playgroud)