【发布时间】:2019-10-01 15:39:00
【问题描述】:
目前正在清理 csv 文件中的数据。成功地把所有的东西都变成小写字母,去掉了停用词和标点符号等。但是需要去掉特殊字符。例如,csv 文件包含诸如“César”“耻辱”之类的内容。如果有办法替换这些字符,那就更好了,但我可以删除它们。以下是我到目前为止的代码。
import pandas as pd
from nltk.corpus import stopwords
import string
from nltk.stem import WordNetLemmatizer
lemma = WordNetLemmatizer()
pd.read_csv('soccer.csv', encoding='utf-8')
df = pd.read_csv('soccer.csv')
df.columns = ['post_id', 'post_title', 'subreddit']
df['post_title'] = df['post_title'].str.lower().str.replace(r'[^\w\s]+', '').str.split()
stop = stopwords.words('english')
df['post_title'] = df['post_title'].apply(lambda x: [item for item in x if item not in stop])
df['post_title']= df['post_title'].apply(lambda x : [lemma.lemmatize(y) for y in x])
df.to_csv('clean_soccer.csv')
【问题讨论】:
-
周围有很多答案,看看例如到this one。干杯。
-
你真的可以发布一个示例 df 吗?
-
试试这个:
df.to_csv('clean_soccer.csv', encoding='utf-8-sig)或只是utf-8 -
@VnC 非常感谢您的工作。
-
我将作为答案发布,以便您批准:)
标签: python pandas csv data-cleaning