jieba库的原理是将一个中文词库,将带分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。除了分词jieba还提供增加自定义中文单词的功能,本次题目的要求是将文本分词并统计某个词的出现频次。
目录
目录
前言
一、思路
二、步骤
1.要求一:引入库,并进行分词处理
2.要求二:对分词结果进行分析,并且统计输出某特定次的出现次数
总结
结巴支持三种模式:精确模式、全模式、搜索引擎模式
1.jieba.lcut(s) 精准模式中文分词 返回结果是列表类型
2.jieba.lcut(s,cut_all=True)全模式 所有分词可能都会被列出来
3.jieba.lcutforsearch(s),首先进行精确模式,然后再对长词进行进一步切分
本题的要求很简单,只是分词并进行统计,一般来说都是用精确模式分词。
关于分词,只需要读取文本,并利用jieba库的精确模式分词得出列表,再而频次就是题目1和题目2教过的,有兴趣可以翻阅前几章内容。
代码如下(示例):
import jieba f = open('data.txt','r') lines = f.readlines() f.close() f = open('out.txt','w') for line in lines: line =line.strip('\n') #删除每行首尾可能出现的空格(或者换行) wordList =jieba.lcut(line) #用结巴分词,对每行内容进行分词 f.writelines('\n'.join(wordList)) #将分词结果存到文件out.txt中 f.close()
wordlist返回的是列表,一般用join函数进行存储,每一个词换一个行。
代码如下(示例):
import jieba f=open('out.txt','r') txt=f.readlines() d={} for word in txt: if '曹操' in word: d['曹操']=d.get('曹操',0)+1 print('曹操出现的次数是:{}'.format(d['曹操']))
唯一比较有难点就是索引了,这里不能用整数索引,而是通过键的名称索引
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。