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