前言
在大資料時代,你竟然會在網上看到的詞云,例如這樣的,
看到之后你是什么感覺?想不想自己做一個?
很多人學習python,不知道從何學起,
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手,
很多已經做案例的人,卻不知道如何去學習更加高深的知識,
那么針對這三類人,我給大家提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!??¤
QQ群:961562169
如果你的答案是正確的,那就不要拖延了,現在我們就開始,做一個詞云分析圖,Python是一個當下很流行的編程語言,你不僅可以用它做資料分析和可視化,還能用來做網站、爬取資料、做數學題、寫腳本替你偷懶……
如果你之前沒有編程基礎,沒關系,希望你不要限于瀏覽,而是親自動手嘗試一番,到完成的那一步,你不僅可以做出第一張詞云圖,而且這還將是你的第一個有用的編程作品,
安裝 wordcloud庫
請確保你的python環境沒有問題,我用的開發工具是VsCode,首先你要在Python擴展中安裝python開發環境(當然,這不是為你的windows安裝python)
那么你還需要安裝所需要的第三方庫,那么在VSCode中并沒有PyCharm那么專業,這里需要獲得你自己的Python腳本位置,
我們可以發現里面有一個名為pip.exe檔案,這個檔案就是python官方給我們去安裝python第三方庫的一個程式,那么我們可以在VsCode的終端中就可以去通過它,這也是我們為什么要獲取python安裝位置的根本原因,
例如我們安裝WordCloud,我們的操作如下:
pip nstall WordCloud
資料
這個時候我們就要開始Code了,我們一定需要資料,這里我自己找了一個繞口令,內容如下:
Betty Botter bought some butter but she said the butter's bitter. If I put it in my batter it will make my batter bitter. So, she bought some better butter, better than the bitter butter and she put it in her batter and her batter was not bitter. So 'twas good that Betty Botter bought some better butter.
翻譯: 貝蒂·波特買牛油, 可她說:“牛油是苦的, 不過加上一點好牛油—— 可以使苦牛油更好點,” 于是她買了一點牛油, 比苦牛油好點的牛油, 摻了之后苦牛油真的變的好多了, 所以這就是貝蒂·波特買的一點比苦牛油好點的牛油,
我把其中的文字存盤成了一個文本,叫做minister.txt,
Code
python做詞云呢,需要匯入的包有wordcloud和PIL,其中PIL(Python Image Library)是python平臺影像處理標準庫,功能是真的強大,首先需要讀取檔案 ,
首先我們要讀取我們的txt檔案,那么代碼如下:
運行腳本結果如下:
接下來導包,我們看看如何生成最簡單的詞云:
如果python引入無誤,并代碼無誤,那么會彈出你生成的圖片,該圖片會儲存在你的系統,詳細位置一般為: C:UsersMACHENIKEAppDataLocalTemp 中,
帶形狀的詞云
一般來說,我們不想要這么方的詞云,肯定喜歡一些有形狀的,
接下來是生成那種有輪廓的詞云,這里就需要繼續匯入其他包,這里匯入的包為numpy,numpy系統是python的一種開源的數值計算擴展,這種工具可以用來存盤和處理大型矩陣,這里在處理的時候將給出形狀的圖片表示為一個大型矩陣,再有顏色的地方來進行填詞(導包 :import numpy as np),導包之后需添加一個遮罩層,遮罩層就是用來限制生成圖片的形狀 ,
網上隨便找個圖片放入到專案當中(這里我找的是一個:heartpulse:),然后開始code:
結果如下:
不支持中文的解決方案
我又從網上摘抄了一段文字,文字內容如下:
生活星期天早上和朋友一起聊天,朋友說了一個他們聽過的故事:“一尊佛像前有一條鋪著石板的路,人們每天都踏著這一階一階的石板去膜拜佛像,石階看著人們踏著自己去膜拜佛像,心里很不舒服,石階心里想,自己和佛本來就來自同一塊石頭,為什么自己要成為踏腳石,讓人們踩著自去去膜拜它呢!它對佛抱怨說這樣太不公平!佛像說:這沒有什么不公平,你們成為臺階只需挨了四刀,而我是挨了千刀萬剮才成了人們膜拜的佛像,
重新運行,發現雪崩了,
如果需要生成中文的詞云,還需匯入jieba分詞的包,jieba分詞的切分還是蠻準的,
C盤中有font字體,那么這些呢你可以自己去找,trans_CN方法是分詞用的,通過font-path就可以指定里面的生成文本,這大概就是詞云的基礎了,可以將爬蟲和詞云生成結合在一起,在爬取資訊之后生成這樣的詞云,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/171016.html
標籤:Python
上一篇:Python爬蟲練習:正則的運用
下一篇:12-python正則運算式
