此篇博客仅以此来记录,pandas操作,
由于很久没有进行数据分析方面的操作了很多的常用的东西都忘记了,因此记录一下此部分内容:
filepath = r'C:\soft\Anaconda3\emergency_frame1.csv'
import pandas as pd
data = pd.read_csv(open(filepath, encoding='utf8'), sep=',')
data.head()
显示前5条,看看是否能够正确读取csv,文件,
此处的目的,将title和dep列的内容,整合成一篇完成的文档,并对组合后的内容进行切词,去停用词,每一篇进行换行
data_title_dep = data[["Etitle", "Edep"]].copy()#复制到新的地址,不破坏原始数据
data_title_dep["title_dep"] = data_title_dep["Etitle"]+data_title_dep["Edep"]
data_title_dep.head()
接下来即是对第三列数据进行切词,去停用词,那么我们要获取到列的内容,才可以进行。
import jieba
for row in data_title_dep.iterrows():
print(row)
在这里如果直接操作row["Etitle"],选中这一列进行处理会报错,
import jieba
# data.loc[:, ['Etitle', 'Edep']]
output = open("res_dep.txt", "w", encoding='utf8')
stopwords_path = r"C:\Users\dataset_emergency\emergency_res\StopwordsCN.txt"
stop_list = []
with open(stopwords_path, "r", encoding="utf-8") as f:
for line in f.readlines():
stop_list.append(line.replace(" \n", ""))
# count = 0
for index, row in data_title_dep.iterrows():
words = jieba.cut(row['Edep'])
for word in words:
# print(word)
if word not in stop_list:
output.write(word + " ")
else:
print(word)
output.write('\n')
count += 1
if count == 5:
output.close()
break
上处是先处理5条数据,看看是否能够获取到正确的结果,打印出的word
打开文件,可以看到相应列已经正确被切分,每一条文本,代表一篇文档数据;
处理数据成功,接下来可以做一些机器学习的任务了,比如,聚类、分类、情感分析等。文本处理是NLP任务中的基础任务,
前期的处理很是重要!