当前位置:   article > 正文

上手结巴分词文本分析,输出热词、TF-IDF权重和词频_pandas 分析英文小说txt文件,那些是高频词

pandas 分析英文小说txt文件,那些是高频词

前言

舆情分析、文本分析,在做特征提取时,需要把一整段内容合并后,提取内容中的热词、F-IDF权重和词频,本编以python编程,分享如何通过结巴分词简易上手。

代码讲解

先给代码片段配内容讲解,篇尾给完整的python代码。

1、读取文本信息

  1. import pandas as pd
  2. # 1.导入数据语料的特征源数据
  3. #df_data = pd.read_table('data.txt', names=[ 'type', 'content'], encoding='utf-8') #读txt文本的方式,names=[ 'type', 'content'] 表示读取两个字段内容
  4. df_data = pd.read_excel('data.xlsx',names=['type','content'],header =0)
  5. contentslist = df_data.content.values.tolist() #这是一个list,从多维数组df_data里面提取'content'这一列内容

引用pd,有两种读取方式,txt文件使用pd.read_table,excel文件使用pd.read_excel,内容如下:

 txt文件的内容格式

 excel文件的内容格式

2、通过结巴分词获取分词后的内容

  1. import jieba
  2. import jieba.analyse
  3. def jiebacut(content):
  4. content_S = []
  5. for line in content:
  6. # jieba分词 精确模式。返回一个列表类型,建议使用
  7. current_segment = jieba.lcut(line) #每一行都做分词
  8. if len(current_segment) > 1 and current_segment != '\r\n':
  9. content_S.append(current_segment)
  10. return content_S
  11. # 2、通过jieba分词,获取分词后的内容list
  12. jieba_contentslist=jiebacut(contentslist)

3、获取删除停用词后的分词

  1. import re
  2. import jieba
  3. import jieba.analyse
  4. # 删除内容中的停用词
  5. def drop_stopwords(contents, stopwords):
  6. contents_clean = [] # 删除后的新闻
  7. all_words = [] # 构造词云所用的数据
  8. for line in contents:
  9. line_clean = []
  10. for word in line:
  11. if word in stopwords: #这里只去掉停词表的内容,没有做去重
  12. continue
  13. if word == ' ' or bool(re.search(r'\d', word)): #去掉空格和包含数字的分词(浮点型、带有%的百分比分词)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/348516
推荐阅读
相关标签
  

闽ICP备14008679号