摘要:導(dǎo)入包導(dǎo)入文件和數(shù)據(jù)數(shù)據(jù)預(yù)處理分詞并去除停用詞算法該類會將文本中的詞語轉(zhuǎn)換為詞頻矩陣,矩陣元素表示詞在類文本下的詞頻該類會統(tǒng)計每個詞語的權(quán)值第一個是計算,第二個是將文本轉(zhuǎn)為詞頻矩陣獲取詞袋模型中的所有詞語將矩陣抽取出來,元素表示
導(dǎo)入包
import os import sys import numpy as np import pandas as pd import matplotlib.pyplot as plt import re from pandas import Series, DataFrame import string import re import jieba import jieba.analyse import datetime from wordcloud import WordCloud, ImageColorGenerator import codecs導(dǎo)入文件和數(shù)據(jù)
gongdan = pd.read_excel("Gongdan.xlsx")數(shù)據(jù)預(yù)處理
gongdan["content"] = [str(i) for i in gongdan["content"]] gongdan["content"] = ["".join(re.findall(u"[u4e00-u9fff]+", i)) for i in gongdan["content"]] indexs = list(gongdan["content"][pd.isnull(gongdan["content"])].index) gongdan = gongdan.drop(indexs) indexs = list(gongdan["content"][gongdan["content"]==""].index) gongdan = gongdan.drop(indexs) content = gongdan["content"] cont = "".join(content) cont = "".join(re.findall(u"[u4e00-u9fa5]+", cont))分詞并去除停用詞
stopwords = set() fr = codecs.open("stopwords.txt", "r", "utf-8") for word in fr: stopwords.add(str(word).strip()) fr.close() jieba.load_userdict("dict.txt") text = list(jieba.cut(cont, cut_all=False, HMM=True)) text = list(filter(lambda x: x not in stopwords, text)) text = [str(i) for i in text if i != " "]Tfidf 算法
from sklearn import feature_extraction from sklearn.feature_extraction.text import TfidfTransformer from sklearn.feature_extraction.text import CountVectorizer test = " ".join(text) tlist = [] tlist.append(test) vectorizer=CountVectorizer()#該類會將文本中的詞語轉(zhuǎn)換為詞頻矩陣,矩陣元素a[i][j] 表示j詞在i類文本下的詞頻 transformer = TfidfTransformer()#該類會統(tǒng)計每個詞語的tf-idf權(quán)值 tfidf = transformer.fit_transform(vectorizer.fit_transform(tlist)) #第一個fit_transform是計算tf-idf,第二個fit_transform是將文本轉(zhuǎn)為詞頻矩陣 word=vectorizer.get_feature_names()#獲取詞袋模型中的所有詞語 weight=tfidf.toarray()#將tf-idf矩陣抽取出來,元素a[i][j]表示j詞在i類文本中的tf-idf權(quán)重 tfidf_list = {} for i in range(len(weight)):#打印每類文本的tf-idf詞語權(quán)重,第一個for遍歷所有文本,第二個for便利某一類文本下的詞語權(quán)重 for j in range(len(word)): tfidf_list[word[j]] = weight[i][j]詞云
font_path = "yahei.ttf" from PIL import Image back_coloring = np.array(Image.open("circle.jpg")) wc = WordCloud(font_path=font_path, # 設(shè)置字體 background_color="white", # 背景顏色 max_words=60, # 詞云顯示的最大詞數(shù) mask=back_coloring, # 設(shè)置背景圖片 stopwords=stopwords, max_font_size=100, # 字體最大值 random_state=42, width=1000, height=860, margin=2,# 設(shè)置圖片默認(rèn)的大小,但是如果使用背景圖片的話,那么保存的圖片大小將會按照其大小保存,margin為詞語邊緣距離 # prefer_horizontal=1, ) wc.generate_from_frequencies(tfidf_list) plt.imshow(wc, interpolation="bilinear") plt.axis("off") plt.figure() wc.to_file("w.png") # create coloring from image image_colors = ImageColorGenerator(back_coloring) # recolor wordcloud and show # we could also give color_func=image_colors directly in the constructor plt.imshow(wc.recolor(color_func=image_colors), interpolation="bilinear") plt.axis("off") plt.figure() plt.imshow(back_coloring, cmap=plt.cm.gray, interpolation="bilinear") plt.axis("off") plt.show()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41336.html
摘要:上面是生成詞云的方法封裝,還有一些其他方法根據(jù)詞頻生成詞云根據(jù)文本生成詞云根據(jù)詞頻生成詞云根據(jù)文本生成詞云將長文本分詞并去除屏蔽詞此處指英語,中文分詞還是需要自己用別的庫先行實現(xiàn),使用上面的對現(xiàn)有輸出重新著色。 對于數(shù)據(jù)展示這一塊有時候會用到詞云,python中提供的wordcloud模塊可以很靈活的完成生成詞云除了使用python提供的wordcloud模塊以為還有在線的生成方式ht...
摘要:準(zhǔn)備把豆瓣上對它的影評短評做一個分析。這樣就得到了最新電影的信息了。例如戰(zhàn)狼的短評網(wǎng)址為其中就是電影的,表示評論的第條評論。如下圖所示好的,至此我們已經(jīng)爬取了豆瓣最近播放電影的評論數(shù)據(jù),接下來就要對數(shù)據(jù)進(jìn)行清洗和詞云顯示了。 簡介 剛接觸python不久,做一個小項目來練練手。前幾天看了《戰(zhàn)狼2》,發(fā)現(xiàn)它在最新上映的電影里面是排行第一的,如下圖所示。準(zhǔn)備把豆瓣上對它的影評(短評)做...
摘要:今年的流浪地球這么火,通過爬取貓眼電影上網(wǎng)友對該片的評價如何。也許很多人在這天通過看流浪地球過節(jié)吧。 背景 最近幾年貓眼電影越來越熱門了,都差不多和豆瓣并駕齊驅(qū)了。今年的《流浪地球》這么火,通過爬取貓眼電影上網(wǎng)友對該片的評價如何。 爬取貓眼評論 找到評論網(wǎng)頁地址 先打開貓眼官網(wǎng)找到《流浪地球》的介紹頁面:https://maoyan.com/films/248906 showImg(h...
摘要:數(shù)據(jù)庫文件已經(jīng)超過了了。復(fù)聯(lián)從開始便是漫威宇宙各路超級英雄的集結(jié),到現(xiàn)在的第部,更是全英雄的匯聚。所以,滅霸出現(xiàn)的次數(shù)居然高于了鋼鐵俠。情感分析,又稱為意見挖掘傾向性分析等。 showImg(https://segmentfault.com/img/remote/1460000019095022); 作者 | 羅昭成責(zé)編 | 唐小引 《復(fù)聯(lián) 4》國內(nèi)上映第十天,程序員的江湖里開始流傳這...
Python pyecharts作為常用的數(shù)據(jù)可視化軟件,能夠清晰的將海量的數(shù)據(jù),去做一個拆分,要是更直觀的去查看數(shù)據(jù)圖表的話,就需要去制作云圖了?那么,怎么制作云圖呢?下面就給大家詳細(xì)的做個解答?! ≡~云圖 什么是詞云圖,相信大家肯定不會感到陌生,一本書統(tǒng)計里面出現(xiàn)的詞頻,然后可視化展示,讓讀者快速的了解這個主題綱要,這就是詞云的直接效果?! ≡~云圖系列模板 固定模式詞云圖 修改一些參...
閱讀 3151·2021-11-08 13:18
閱讀 2291·2019-08-30 15:55
閱讀 3614·2019-08-30 15:44
閱讀 3075·2019-08-30 13:07
閱讀 2786·2019-08-29 17:20
閱讀 1953·2019-08-29 13:03
閱讀 3419·2019-08-26 10:32
閱讀 3231·2019-08-26 10:15