【发布时间】:2021-01-11 22:30:26
【问题描述】:
我正在尝试从熊猫系列中删除标点符号。我的问题是我无法遍历系列中的所有行。这是我尝试过的代码,但它需要很长时间才能运行。请注意,我的数据集有点大,大约 112MB(200,000 行)
import pandas as pd
import string
df = pd.read_csv('let us see.csv')
s = set(string.punctuation)
for st in df.reviewText.str:
for j in s:
if j in st:
df.reviewText = df.reviewText.str.replace(j, '')
df.reviewText = df.reviewText.str.lower()
df['clean_review'] = df.reviewText
print(df.clean_review.tail())
【问题讨论】:
-
你为什么要迭代这个系列?您可以一次替换整个系列
for j in s: df.reviewText.str.replace(j, "")并替换所有出现的事件,而无需事先检查。 -
你是对的。谢谢你。但它不起作用。标点符号还在
-
如果要替换原地的值,需要使用
inplace=True(pandas.pydata.org/pandas-docs/stable/reference/api/…) -
知道了。上帝保佑。非常感谢你有美好的一天
标签: python pandas dataframe data-mining data-cleaning