pandas 处理csv文本文档,完成分词、去停用词功能

此篇博客仅以此来记录,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,文件,

pandas 处理csv文本文档,完成分词、去停用词功能_第1张图片

 此处的目的,将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()

pandas 处理csv文本文档,完成分词、去停用词功能_第2张图片

接下来即是对第三列数据进行切词,去停用词,那么我们要获取到列的内容,才可以进行。

import jieba

for row in data_title_dep.iterrows():
    print(row)

pandas 处理csv文本文档,完成分词、去停用词功能_第3张图片

在这里如果直接操作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

pandas 处理csv文本文档,完成分词、去停用词功能_第4张图片

打开文件,可以看到相应列已经正确被切分,每一条文本,代表一篇文档数据;

pandas 处理csv文本文档,完成分词、去停用词功能_第5张图片 

处理数据成功,接下来可以做一些机器学习的任务了,比如,聚类、分类、情感分析等。文本处理是NLP任务中的基础任务,

前期的处理很是重要!

你可能感兴趣的:(python)