自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從零開始教你用Python做詞云

移動開發(fā) 后端
臨淵羨魚,不如退而結網(wǎng)。我們步步為營,從頭開始幫助你用Python做出第一張詞云圖來。歡迎嘗試哦!


臨淵羨魚,不如退而結網(wǎng)。我們步步為營,從頭開始幫助你用Python做出***張詞云圖來。歡迎嘗試哦!

需求

在大數(shù)據(jù)時代,你經(jīng)??梢栽诿襟w或者網(wǎng)站上看到一些非常漂亮的信息圖。

例如這個樣子。

從零開始教你用 Python 做詞云

看過之后你有什么感覺?想不想自己做一張出來?

如果你的答案是肯定的,我們就不要拖延了,今天就來一步步從零開始做個詞云分析圖。當然,做為基礎的詞云圖,肯定比不上剛才那兩張信息圖酷炫。不過不要緊,好的開始是成功的一半嘛。食髓知味,后面你就可以自己升級技能,進入你開掛的成功之路。

網(wǎng)上教你做信息圖的教程很多。許多都是利用了專用工具。這些工具好是好,便捷而強大。只是它們功能都太過專一,適用范圍有限。今天我們要嘗試的,是用通用的編程語言Python來做詞云。

Python是一種時下很流行的編程語言。你不僅可以用它做數(shù)據(jù)分析和可視化,還能用來做網(wǎng)站、爬取數(shù)據(jù)、做數(shù)學題、寫腳本替你偷懶……

知道豆瓣嗎?它一開始就是用Python寫的。

在目前的編程語言熱度排序里,Python屈居第四(當然,很多人不同意,所以編程語言的排行榜有許多,你懂的)。但看問題要用發(fā)展眼光。隨著數(shù)據(jù)科學的發(fā)展,Python有爆發(fā)的趨勢。早點兒站上風口,很有益處。

如果你之前沒有編程基礎,沒關系。從零開始,意味著我會教你如何安裝Python運行環(huán)境,一步步完成詞云圖。希望你不要限于瀏覽,而是親自動手嘗試一番。到完成的那一步,你不僅可以做出***張詞云圖,而且這還將是你的***個有用的編程作品。

心動了?那咱們就開始吧。

安裝

首先,我們需要安裝Python運行環(huán)境。

如果你用的是macOS,那么你的系統(tǒng)里面實際已經(jīng)預裝好了Python。

然而我們要使用到許多擴展包的功能。因此***安裝一個Python工具套裝。只需要一次安裝,以后大部分的功能就都已集成了。不必每次使用新功能,都去零敲碎打地安裝新包了。

Python的套裝有許多種,這里推薦給大家anaconda。因為經(jīng)過我4年多的嘗試與對比,感覺這款軟件包的安裝更為便捷,擴展包的涵蓋范圍與結構更合理。

首先下載anaconda套裝,具體下載鏈接如下:

??http://t.cn/RyWsyHV??

下拉網(wǎng)頁找到下載位置。根據(jù)你的操作系統(tǒng)類型選擇合適的版本。

從零開始教你用 Python 做詞云

因為我的系統(tǒng)是macOS,所以網(wǎng)站直接給我推薦的就是macOS系統(tǒng)版本。但如果你用的是Windows或Linux,請切換到相應的標簽頁上面。

不管你用的是哪個操作系統(tǒng),請注意右側的兩個按鈕,分別對應Python 2.X和3.X版本。有人一定很納悶,既然有新的版本,我憑什么用舊的?

不是這樣的。到2020年之前,Python的兩個版本會一直并存。Python的開發(fā)者確實希望大家升級切換到3.X版本??上壳?.X版本兼容的擴展包數(shù)量比2.X版本要少,尤其是涉及到數(shù)據(jù)科學類的軟件包,就尤其明顯。所以如果你是初學者,我建議你下載2.X(目前是2.7)版本,這樣在以后的使用中,可能遇到的問題會少一些。等你運用熟練了,再遷移到3.X版本不遲。相信我,到那時你會很快適應新版本的。

下載后,執(zhí)行安裝文件就行了。

根據(jù)你的電腦運行速度不同,安裝的時間長短不等。耐心點兒,只需要等這一次嘛。

安裝完畢之后,請你安裝一個“現(xiàn)代化”瀏覽器。如果你用的是macOS,那么系統(tǒng)自帶的Safari就挺好。其他的選擇包括Firefox和Google Chrome。

請安裝上述瀏覽器之一,然后將其設置為系統(tǒng)默認的瀏覽器。

好了,下面請進入命令行模式。

在macOS和Linux下,你需要開啟一個終端(terminal)。

從零開始教你用 Python 做詞云

如果是Windows,請打開“開始”-“附件”-“命令提示符”。

從零開始教你用 Python 做詞云

鍵入以下命令:

mkdir demo  cd demo

好了,你現(xiàn)在有一個專用的目錄,叫做demo了。請到macOS的Finder或者Windows的“我的電腦”里面,找到這個目錄并且打開它。

回到終端下面,macOS或者Linux用戶請鍵入以下命令:

pip install wordcloud

macOS會提示你先安裝XCode命令行工具,你按照默認設置一步步進行就可以了。但是請注意,務必在WiFi環(huán)境下安裝。如果你用的是4G流量,那你可要破費一筆了。

如果你用的是Windows,那么為了使用這個詞云包,就稍微麻煩一些,你需要到下載 wordcloud?1.3.1?cp27?cp27m?win32.whl 這個文件,并將它拖拽到你的demo目錄里。具體下載鏈接如下:

??http://t.cn/RJ6Emm4??

在命令行下,先執(zhí)行:

pip install wheel

然后,再執(zhí)行:

pip install wordcloud?1.3.1?cp27?cp27m?win32.whl

好了,我們需要的全部Python運行環(huán)境終于裝好了。

請務必按照上述步驟執(zhí)行,確保每一步都已經(jīng)順利完成。否則一旦遺漏,后面運行程序會報錯。

數(shù)據(jù)

詞云分析的對象,是文本。

理論上講,文本可以是各種語言的。英文、中文、法文、阿拉伯文……

為了簡便,我們這里以英文文本為例。你可以隨意到網(wǎng)上找一篇英文文章作為分析對象。我特別喜歡英劇"Yes, minister",所以到維基百科上找到了這部劇的介紹詞條。

從零開始教你用 Python 做詞云

我把其中的正文文字部分拷貝了下來,存儲為一個文本文件,叫做yes-minister.txt。

把這個文件挪動到我們的工作目錄demo里。

好了,文本數(shù)據(jù)已經(jīng)準備好了。開始進入編程的魔幻世界吧!

代碼

在命令行下,執(zhí)行:

jupyter notebook

瀏覽器會自動開啟,并且顯示如下界面。

從零開始教你用 Python 做詞云

這就是咱們剛才的勞動成果——安裝好的運行環(huán)境了。我們還沒有編寫程序,目錄下只有一個剛才生成的文本文件。

打開這個文件,瀏覽一下內容。

從零開始教你用 Python 做詞云

回到Jupyter筆記本的主頁面。我們點擊New按鈕,新建一個筆記本(Notebook)。在Notebooks里面,請選擇Python 2選項。

從零開始教你用 Python 做詞云

系統(tǒng)會提示我們輸入Notebook的名稱。程序代碼文件的名稱,你可以隨便起。但是我建議你起一個有意義的名字,將來好方便查找。由于我們要嘗試詞云,就叫它wordcloud好了。

從零開始教你用 Python 做詞云

然后就出現(xiàn)了一個空白的筆記本,供我們使用了。我們在網(wǎng)頁里唯一的代碼文本框里,輸入以下3條語句。請務必逐字根據(jù)示例代碼輸入,空格數(shù)量都不可以有差別。尤其注意第三行,用4個空格,或者1個Tab開始。輸入后,按Shift+Enter鍵,就可以執(zhí)行了。

filename = "yes-minister.txt" with open(filename) as f:  mytext = f.read()

沒有任何結果啊。

對,因為我們這里沒有任何輸出動作,程序只是打開了你的yes-minister.txt文本文件,把里面的內容都讀了出來,存儲到了一個叫做mytext的變量里面。

然后我們嘗試顯示mytext的內容。輸入以下語句之后,還是得按Shift+Enter鍵,系統(tǒng)才會實際執(zhí)行該語句。

mytext

之后的步驟里,也千萬不要忘了這一確認執(zhí)行動作。

顯示的結果如下圖所示。

從零開始教你用 Python 做詞云

嗯,看來mytext變量里存儲的文本就是我們從網(wǎng)上摘來的文字。到目前為止,一切正常。

然后我們呼喚(import)詞云包,利用mytext中存儲的文本內容來制造詞云。

from wordcloud import WordCloud wordcloud = WordCloud().generate(mytext)

這時程序可能會報警。別擔心。警告(warning)不影響程序的正常運行。

從零開始教你用 Python 做詞云

此時詞云分析已經(jīng)完成了。你沒看錯,制作詞云的核心步驟只需要這2行語句,而且***條還只是從擴展包里找外援。但是程序并不會給我們顯示任何東西。

說好了的詞云呢?折騰了這么半天,卻啥也沒有,你蒙人嗎?!

別激動。輸入下面4行語句后,就是見證奇跡發(fā)生的時刻了。

%pylab inline import matplotlib.pyplot as plt plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off")

運行結果如圖所示:

從零開始教你用 Python 做詞云

不用那么興奮嘛。

你可以在詞云圖片上單機鼠標右鍵,用“圖片另存為”功能導出。

從零開始教你用 Python 做詞云

通過這張詞云圖,我們可以看到不同單詞和詞組出現(xiàn)的頻率高低差別。高頻詞的字體明顯更大,而且顏色也很醒目。值得說明的是,最顯眼的單詞Hacker并不是指黑客,而是指這部劇的主角之一——哈克首相。

包含程序完整代碼的ipynb文件,我也分享了出來,你可以從如下鏈接下載:

??http://t.cn/RKQvFBM??

希望你在嘗試過程中一切順利。對自己生成的詞云圖滿意嗎?如果你不滿意,也不要緊,可以挖掘wordcloud軟件包的其他高級功能。嘗試一下,看自己能不能做出這樣的詞云圖來

從零開始教你用 Python 做詞云

討論

學完了本方法后,你做出了一張什么樣的詞云圖?除了本文介紹的方法以外,你還知道哪些便捷地制作詞云或其他信息圖的方式?歡迎留言,分享給大家。我們共同交流討論。

本文轉自雷鋒網(wǎng),作者王樹義,原載于微信公眾號玉樹芝蘭(nkwangshuyi)。

責任編輯:張子龍 來源: 雷鋒網(wǎng)
相關推薦

2019-01-18 12:39:45

云計算PaaS公有云

2018-09-14 17:16:22

云計算軟件計算機網(wǎng)絡

2018-01-16 11:00:25

2017-12-12 12:24:39

Python決策樹

2021-05-18 14:42:55

PythonMySQL

2019-01-24 09:00:00

PythonAutoML機器學習

2021-03-16 11:30:33

2015-03-23 12:33:28

2015-04-22 11:29:45

PythonPython創(chuàng)建瀑布圖

2015-11-17 16:11:07

Code Review

2018-04-18 07:01:59

Docker容器虛擬機

2020-07-02 15:32:23

Kubernetes容器架構

2024-12-06 17:02:26

2011-03-28 16:14:38

jQuery

2024-03-01 19:53:37

PyBuilderPython開發(fā)

2023-08-03 08:51:07

2010-05-26 17:35:08

配置Xcode SVN

2024-05-15 14:29:45

2013-02-21 09:27:26

2024-05-17 17:29:00

CurdlingPython開發(fā)
點贊
收藏

51CTO技術棧公眾號