如何使用pandas進(jìn)行數(shù)據(jù)分析

這篇文章主要介紹了如何使用pandas進(jìn)行數(shù)據(jù)分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、福綿網(wǎng)站維護(hù)、網(wǎng)站推廣。

(一)獲取微信好友的數(shù)據(jù)

為了獲取微信好友的數(shù)據(jù),需要使用一個工具,叫itchat。

itchat是網(wǎng)頁微信的接口的封裝。

在很久之前,小程介紹過如何給微信群自動地發(fā)送(批量)消息,用的就是itchat。

對于itchat的安裝與使用,讀者可以關(guān)注“廣州小程”微信公眾號,并在“軟件基礎(chǔ)”的菜單項中找到相應(yīng)的文章進(jìn)行查閱。

這里直接介紹使用itchat獲取微信好友的信息。

試驗一下,先算一下小程有多少異性朋友吧,可以這樣寫代碼: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

執(zhí)行這段代碼,可以看到這樣的輸出: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

為了后續(xù)的數(shù)據(jù)分析,接下來,小程提取更具體的好友數(shù)據(jù),并保存到文件,這里面用到了pandas。

讀者如果沒有安裝pandas,那可以這樣安裝:

pip install pandas

以下是獲取好友數(shù)據(jù)的代碼: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

執(zhí)行這段代碼,在本地生成了一個文件:friends_info.csv,csv文件一般是純文本,用來保存記錄的文件(一般所有記錄都有相同的字段)。

用excel打開這個csv文件,可以看到這樣的信息(如果讀者發(fā)現(xiàn)excel打開會亂碼,那可以先用word并選擇用utf8來打開,然后再保存,之后再用excel打開): 
如何使用pandas進(jìn)行數(shù)據(jù)分析

這個csv文件的內(nèi)容,就是后續(xù)數(shù)據(jù)分析的基礎(chǔ)。

(二)分析數(shù)據(jù)

有了基礎(chǔ)數(shù)據(jù)之后,就可以使用pandas進(jìn)行分析,并用matplotlib進(jìn)行繪圖。

matplotlib是繪圖的實用工具,小程另找機(jī)會詳細(xì)介紹,讀者可以先不管這部分內(nèi)容,或者先簡單了解,因為代碼截圖中有相應(yīng)的解釋。

這里演示對微信好友的性別與地區(qū)進(jìn)行數(shù)據(jù)分析。

(1)引入pandas與matplotlib

引入pandas與matplotlib的代碼,以及代碼的執(zhí)行效果是這樣的: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

(2)分析性別

這里根據(jù)性別種類的個數(shù),繪制條形圖。

先來看分析性別與繪制的代碼,截圖中的解釋是重點內(nèi)容: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

執(zhí)行這段代碼,可以看到這樣的輸出與顯示: 
如何使用pandas進(jìn)行數(shù)據(jù)分析
如何使用pandas進(jìn)行數(shù)據(jù)分析

由展示圖可見,小程的朋友以男性居多。

(3)分析地區(qū)

實現(xiàn)的思路跟性別分析類似,代碼如下: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

執(zhí)行的效果如下: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

由展示圖可見,小程的朋友以廣州跟深圳為主,小程的朋友圈很窄。

以上介紹了怎么分析性別與地區(qū)的分布數(shù)據(jù),其中pandas的使用是本文的重點。

以上的代碼中,用到了pandas的DataFrame跟Series類型,也用到了Series的統(tǒng)計函數(shù)max。

接下來,對pandas的知識再做一個簡單的介紹。

(三)pandas的知識

pandas的數(shù)據(jù),有兩個類型。一個是DataFrame,一個是Series。

DataFrame就是一個數(shù)據(jù)表(由若干列組成),而Series就是其中的一列(一個字段的所有內(nèi)容)。

對于數(shù)據(jù)分析的內(nèi)容,讀者可以查閱“廣州小程”的“數(shù)據(jù)分析”專題的文章。

對于DataFrame或Series變量,有各種函數(shù),可以完成數(shù)據(jù)分析,包括:個數(shù)、最大值、最小值、平均值、中位數(shù)、眾數(shù)、方差、峰值,等等。

對于pandas的詳細(xì)理解,可以參考這個文檔:http://pandas.pydata.org/pandas-docs/stable/index.html

讀者也可以邊用邊學(xué)。

至此,主要內(nèi)容已經(jīng)介紹完畢,以下為附帶內(nèi)容。

(三)詞云圖

小程拿到的好友信息中,包括了“簽名”這項內(nèi)容,一般來說,可以弄個詞云圖來看看簽名的重點信息。

以下是小程順帶介紹的內(nèi)容。

安裝模塊jieba,這是一個支持中文的分詞器:

pip install jieba

安裝模塊PIL,這是一個圖像處理庫:

pip install Pillow

安裝wordcloud,這是一個詞云圖庫:

pip install wordcloud

實現(xiàn)微信好友的簽名的詞云圖,大概的思路是這樣的:使用pandas從基礎(chǔ)數(shù)據(jù)中讀取到一個數(shù)據(jù)表,從數(shù)據(jù)表中拿到簽名的列并把這一列的內(nèi)容轉(zhuǎn)換成list,對簽名list的每個簽名逐一處理,過濾掉一些關(guān)鍵詞,再使用正則表達(dá)式把一些特殊字符去除掉,最后把處理后的簽名用空格拼接在一起,并調(diào)用分詞器進(jìn)行分詞處理,得到一個分詞list。創(chuàng)建詞云圖對象,設(shè)置背景顏色、字體等,并傳遞分詞list,最終顯示并保存詞云圖對象生成的圖像。

實現(xiàn)的代碼,請參考下圖: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

執(zhí)行這段代碼,可以看到這樣的效果: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

由圖可見,小程的好友很有個性(喜歡說“自己”),小程的好友跟“程序”分不開,小程的好友已經(jīng)開始聊人生與合作了(估計年紀(jì)比較大了)。

在生成詞云圖時,設(shè)置了背景圖(back.jpg),小程這里使用的是這張圖: 
如何使用pandas進(jìn)行數(shù)據(jù)分析

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用pandas進(jìn)行數(shù)據(jù)分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

新聞名稱:如何使用pandas進(jìn)行數(shù)據(jù)分析
文章分享:http://bm7419.com/article22/geghjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、電子商務(wù)、建站公司網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)