我有一个数据帧序列,它具有逗号,倒置逗号等字符,因此我尝试如下替换它们,
train['content']=train['content'].replace('…','')
train['content']=train['content'].replace('”','')
train['content']=train['content'].replace('“','')
train['content']=train['content'].replace('’','')
但是,即使替换了它们,我仍然可以得到它们的字符。内容没有变化。 commas
,inverted commas
和...
仍然存在。
我的火车数据框中有30,000行。我希望替换所有30,000行中的上述字符
编辑: 火车
content
[sure, tune, …, watch, donald, trump, “,”, late, ’ , night]
[abc, xyz, “,”,late, ’, night]
基本上内容列是一个列表
答案 0 :(得分:1)
使用正则表达式执行。它会解决您的问题
import re
train['content'] = train['content'].map(lambda x: re.sub(r'\W+', '', x))
尝试对数据框的所有列进行尝试
train = train.replace(r'\W+', '', regex=True)
答案 1 :(得分:1)
您可以将其转换为列表,他们使用列表理解:
train['content'] = [i for a in ['…','”','“','’'] for i in train['content'].tolist() if a not in i]
更新:
train['content'] = [i if a not in i else None for a in ['…','”','“','’'] for i in train['content'].tolist()]
或者:
train['content'] = pd.Series([i for a in ['…','”','“','’'] for i in train['content'].tolist() if a not in i])
答案 2 :(得分:0)
要使用数据框中的文本数据,通常需要应用其他访问器“ str”。 在这种情况下,您的命令应如下所示:
train['content']=train['content'].str.replace('…','')
train['content']=train['content'].str.replace('”','')
train['content']=train['content'].str.replace('“','')
train['content']=train['content'].str.replace('’','')
下面有一个小例子,它起作用了:
import pandas as pd
df = pd.DataFrame({'txt':['dfghn,.4567','.,.,fw,.,r4.34,']})
q = df.txt.str.replace('.','')
q
Out[150]:
0 dfghn,4567
1 ,,fw,,r434,
Name: txt, dtype: object