以扶搖為例:如何使用Python繪制詞云?
Python語言一直被稱頌為很好學(xué)的一門編程語言,本文主要聊聊Python學(xué)習(xí)的一些感觸,再以扶搖為例,談?wù)勅绾问褂肞ython繪制詞云。
現(xiàn)在隨著更多有企業(yè)的產(chǎn)品經(jīng)理職位對于數(shù)據(jù)分析能力方面有更多要求,產(chǎn)品經(jīng)理也隨之需要學(xué)習(xí)數(shù)據(jù)分析的思維路線和數(shù)據(jù)分析的工具。數(shù)據(jù)分析的工具主要有:操作數(shù)據(jù)庫的SQL語句、Excel、新進網(wǎng)紅語言Python。
Python語言一直被稱頌為很好學(xué)的一門編程語言,本人在研讀一本入門書籍后,的確可以上手寫一些代碼文件,這里使用Python做一做《扶搖皇后》小說的詞云圖,每一句代碼上面即是對這句代碼的注釋,解釋語句的意思,之后順帶聊一聊我對Python學(xué)習(xí)的感觸。
前言說明
至于為什么是詞云圖呢?
主要出于2點:
- 本人初次接觸就很愛詞云圖,看起來是裝逼利器,一直有使用Python做爬蟲和詞云的念頭;
- “詞云”就是對網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的“關(guān)鍵詞”予以視覺上的突出,形成“關(guān)鍵詞云層”或“關(guān)鍵詞渲染”,從而過濾掉大量的文本信息,使瀏覽網(wǎng)頁者只要一眼掃過文本就可以領(lǐng)略文本的主旨。(解釋來自百度百科,“詞云”對于文本分析還是很重要的)
如果希望能夠看懂代碼,那么需要具備:
- 了解Python語言的語法結(jié)構(gòu);
- 了解Python語言的標(biāo)準(zhǔn)包、第三方包的區(qū)別;
- Python代碼基本是英文,意思一定程度上代表了它要做的事,懂英文,有代碼感覺。
如果希望能夠拿來做練習(xí),那么需要具備:
- 你的電腦已經(jīng)安裝了Python;
- 你對于Python已經(jīng)入門,需要拿例子做練習(xí);
- 你能夠熟練使用Python帶的pip安裝各種第三方包;
- 安裝了順手的代碼編輯器,能夠方便碼代碼;
- 下載扶搖小說txt文件。
示例環(huán)境
電腦系統(tǒng):Window10
Python版本:Python3.7(Python2和Python3差別會比較大,很多語句經(jīng)過淘汰變更,所以盡量使用新版本)
代碼編輯器:Sublime Text3
實例正文
以下截圖為代碼實例(這里放截圖,如果你希望熟練代碼,最好是自己手動敲,培養(yǎng)代碼感情):
例子中使用的扶搖圖片,如下(圖片從某度上搜索):
這里需要注意的是,圖片需要是白色背景,方便代碼識別。這個圖片是用PS去掉背景的,看著稍微糙一些。
例子中使用WordCloud的fitwords函數(shù),根據(jù)詞頻繪制圖片,取排名前1000個詞,效果圖如下:
從詞云圖中也可以看出了,主角是扶搖無疑,接下來是兩個大大的“長孫”和“無極”,一個小的“元昭詡”,男主子位置穩(wěn)固?!氨币啊?、“宗越”、“云痕”等人物的名字大小都代表了在小說中出現(xiàn)的次數(shù)與分量,其中男主子寵物“元寶”絲毫不落下風(fēng),儼然仗著自己男一號萌寵的身份和可耐的形象力壓群雄。
其他的詞,大家也可以分析一番,像“眼神”、“目光”、“微笑”、“輕輕”等詞很容易讓人再次聯(lián)想到劇中的浪漫情節(jié),bulabula…
我的感觸
在做這個實例的時候,是找的網(wǎng)絡(luò)上的示例看著做的,但是代碼并非直接拿過來就可以使用,在本地會出現(xiàn)不同的錯誤,網(wǎng)絡(luò)上的示例代碼本身也有小部分缺失,這時候需要根據(jù)bug的提示錯誤一邊某度一邊根據(jù)代碼感覺進行更改試驗調(diào)試,最終出來結(jié)果。
代碼的神奇之處還在于:同樣的代碼換了個環(huán)境可能就出現(xiàn)不知名問題,所以要有耐心、懷著期待完成你自己的作品。
好了,實例到這里,那么此時本人對于Python的認(rèn)識是怎么樣的呢?真的是一部分人所說的“數(shù)據(jù)分析從入門到放棄”嗎?
其實這是因人而異的,看你的目標(biāo)和方法、希望掌握的程度了:
- Python入門還算比較容易,入門之后的深鉆就需要下大功夫了;
- Pyhton很受歡迎,除了自帶的標(biāo)準(zhǔn)庫之外,還有眾多第三方包,適用于不同場景,如果只是做數(shù)據(jù)分析的話,抓住其中的重點來看:numpy、pandas、matplotlib,其他的包用到的時候某度就好了;
- 語言功能很強大,本次實例中除去注釋之后,真正用的語句并不多,一個包提供的函數(shù)就能夠?qū)崿F(xiàn)酷炫能力;
- Python學(xué)習(xí)的重難點是:第三方包眾多、函數(shù)眾多、不同函數(shù)參數(shù)不同,各個函數(shù)的作用與用法都需要琢磨理解,根據(jù)自己的需求找到使用的函數(shù);
- 學(xué)習(xí)Pyhton要有好的心態(tài),有目標(biāo)地學(xué),入門、掌握學(xué)習(xí)方法、根據(jù)實際場景運用;
對于數(shù)據(jù)分析,Python只是一個很重要的工具,有些情況下需要掌握,但數(shù)據(jù)分析最重要的還是思路和業(yè)務(wù)使用,根據(jù)用途使用工具,不能劍走偏鋒,只是掌握了工具而沒有思路理論支持的話,很容易就從產(chǎn)品經(jīng)理學(xué)成數(shù)據(jù)分析師了。
在數(shù)據(jù)分析思路與數(shù)據(jù)分析工具之間一定要找一個很好的平衡點,讓我們在產(chǎn)品路上一起努力吧。
本文由 @妮娜猴 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Pixabay,基于 CC0 協(xié)議
感謝分享,受用了…
ValueError: We need at least 1 word to plot a word cloud, got 0.
這個錯誤怎么解決呢
錯誤信息提示:沒有提取出文字,可以在繪制詞云前打印你的提取結(jié)果看看。
很有趣
??
哪本如本的書~推薦一下唄
《Python從入門到實踐》