您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用pandas進行數據分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
為了獲取微信好友的數據,需要使用一個工具,叫itchat。
itchat是網頁微信的接口的封裝。
在很久之前,小程介紹過如何給微信群自動地發送(批量)消息,用的就是itchat。
對于itchat的安裝與使用,讀者可以關注“廣州小程”微信公眾號,并在“軟件基礎”的菜單項中找到相應的文章進行查閱。
這里直接介紹使用itchat獲取微信好友的信息。
試驗一下,先算一下小程有多少異性朋友吧,可以這樣寫代碼:
執行這段代碼,可以看到這樣的輸出:
為了后續的數據分析,接下來,小程提取更具體的好友數據,并保存到文件,這里面用到了pandas。
讀者如果沒有安裝pandas,那可以這樣安裝:
pip install pandas
以下是獲取好友數據的代碼:
執行這段代碼,在本地生成了一個文件:friends_info.csv,csv文件一般是純文本,用來保存記錄的文件(一般所有記錄都有相同的字段)。
用excel打開這個csv文件,可以看到這樣的信息(如果讀者發現excel打開會亂碼,那可以先用word并選擇用utf8來打開,然后再保存,之后再用excel打開):
這個csv文件的內容,就是后續數據分析的基礎。
有了基礎數據之后,就可以使用pandas進行分析,并用matplotlib進行繪圖。
matplotlib是繪圖的實用工具,小程另找機會詳細介紹,讀者可以先不管這部分內容,或者先簡單了解,因為代碼截圖中有相應的解釋。
這里演示對微信好友的性別與地區進行數據分析。
引入pandas與matplotlib的代碼,以及代碼的執行效果是這樣的:
這里根據性別種類的個數,繪制條形圖。
先來看分析性別與繪制的代碼,截圖中的解釋是重點內容:
執行這段代碼,可以看到這樣的輸出與顯示:
由展示圖可見,小程的朋友以男性居多。
實現的思路跟性別分析類似,代碼如下:
執行的效果如下:
由展示圖可見,小程的朋友以廣州跟深圳為主,小程的朋友圈很窄。
以上介紹了怎么分析性別與地區的分布數據,其中pandas的使用是本文的重點。
以上的代碼中,用到了pandas的DataFrame跟Series類型,也用到了Series的統計函數max。
接下來,對pandas的知識再做一個簡單的介紹。
pandas的數據,有兩個類型。一個是DataFrame,一個是Series。
DataFrame就是一個數據表(由若干列組成),而Series就是其中的一列(一個字段的所有內容)。
對于數據分析的內容,讀者可以查閱“廣州小程”的“數據分析”專題的文章。
對于DataFrame或Series變量,有各種函數,可以完成數據分析,包括:個數、最大值、最小值、平均值、中位數、眾數、方差、峰值,等等。
對于pandas的詳細理解,可以參考這個文檔:http://pandas.pydata.org/pandas-docs/stable/index.html
讀者也可以邊用邊學。
至此,主要內容已經介紹完畢,以下為附帶內容。
小程拿到的好友信息中,包括了“簽名”這項內容,一般來說,可以弄個詞云圖來看看簽名的重點信息。
以下是小程順帶介紹的內容。
安裝模塊jieba,這是一個支持中文的分詞器:
pip install jieba
安裝模塊PIL,這是一個圖像處理庫:
pip install Pillow
安裝wordcloud,這是一個詞云圖庫:
pip install wordcloud
實現微信好友的簽名的詞云圖,大概的思路是這樣的:使用pandas從基礎數據中讀取到一個數據表,從數據表中拿到簽名的列并把這一列的內容轉換成list,對簽名list的每個簽名逐一處理,過濾掉一些關鍵詞,再使用正則表達式把一些特殊字符去除掉,最后把處理后的簽名用空格拼接在一起,并調用分詞器進行分詞處理,得到一個分詞list。創建詞云圖對象,設置背景顏色、字體等,并傳遞分詞list,最終顯示并保存詞云圖對象生成的圖像。
實現的代碼,請參考下圖:
執行這段代碼,可以看到這樣的效果:
由圖可見,小程的好友很有個性(喜歡說“自己”),小程的好友跟“程序”分不開,小程的好友已經開始聊人生與合作了(估計年紀比較大了)。
在生成詞云圖時,設置了背景圖(back.jpg),小程這里使用的是這張圖:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用pandas進行數據分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。