wordcloud库
- w = wordcloud.WordCloud() 表示一个文本对应的词云对象w
可以以WordCloud对象为基础,配置参数,加载文本,输出文件 - w.generate(txt) 向WordCloud对象w中加载文本txt(输入文本应当是以空格分隔的大字符串)
- w.to_file(filename) 将词云作为图像文件,.png或.jpg格式
- width 指定词云生成图片的宽度,默认400像素
>>>w=wordcloud.WordCloud(width=600)
- height 指定词云对象生成图片的高度,默认200像素
>>>w=wordcloud.WordCloud(height=400)
- min_font_size 指定词云中最小字号,默认4号
>>>w=wordcloud.WordCloud(min_font_size=10)
- max_font_size 指定词云中最大字号,根据高度自动调节
>>>w=wordcloud.WordCloud(max_font_size=20)
- font_step 指定词云中字体字号的步进间隔,默认为1
>>>w=wordcloud.WordCloud(font_step=2)
- font_path 指定字体文件的路径,默认None
>>>w=wordcloud.WordCloud(font_path="msyh.ttc")//微软雅黑字体
- max_words 指定词云显示的最大单次数量,默认200
>>>w=wordcloud.WordCloud(max_words=20)
- stop_words 指定词云的排除词列表,即不显示的单词列表
>>>w=wordcloud.WordCloud(stop_words={"python"})
- mask 指定词云形状,默认为长方形,需要引用imread()函数
>>>from scipy.misc import imread()
>>>mk=imread("pic.png")
>>>w=wordcloud.WordCloud(mask=mk)
- background_color 指定词云背景颜色
>>>w=wordcloud.WordCloud(background_color="white")
wordcloud库做了哪些事情:
1、分隔:以空格分割单词
2、统计:单词出现次数并过滤次数特别少的
3、字体:根据统计配置字号
4、布局:颜色环境尺寸
jieba库
优秀的中文分词第三方库qwq(应用原因是中文文本需要通过分词获得单个词语)
一些常见使用:
- jieba.lcut(s) 精确模式,返回一个列表类型的分词结果
- jieba.lcut(s,cut_all=True) 全模式,所有可能结果,可能存在冗余
- jieba.lcut_for_search(s) 搜索引擎模式,返回一个列表类型的分词结果,存在冗余
- jieba.add_word(w) 向分词词典增加新词w
一个小实例——词频统计
def getText():
txt = open("hamlet.txt","r").read()
txt = txt.lower()
for ch in '!"#''' :
txt = txt.replace(ch, " ")
return txt
hamletTxt = getText()
words = hamletTxt.split()
counts = {}
for word in words :
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
print(items)