10分鐘教你用Python玩轉微信之好友性別比例統計分析
阿新 • • 發佈:2018-11-27
01 前言+效果展示
想必,微信對於大家來說,是再熟悉不過的了。那麼,大家想不想探索一下微信上的各種奧祕呢?今天,我們一起來簡單分析一下微信上的好友性別比例吧~廢話不多說,開始幹活。
結果如下:
02 環境準備
Python版本:3.6.0
系統平臺:Windows 10 X64
IDE:pycharm
相關模組:
matplotlib.pyplot模組;
itchat模組;
以及一些Python自帶的模組。
03 好友統計
這裡還是需要用到我們的itchat模組,利用這個模組登入微信,然後獲取相應的資訊進行統計分析。
首先是登入微信,獲取好友:
1# 先登入
2itchat.login()
3
4# 獲取好友列表
5friends = itchat.get_friends(update=True)[0:]
然後是遍歷獲取結果,進行性別統計:
1# 初始化計數器,有男有女,當然,有些人是不填的
2male = female = other = 0
3
4# 遍歷這個列表,列表裡第一位是自己,所以從"自己"之後開始計算
5# 1表示男性,2女性
6for i in friends[1:]:
7 sex = i["Sex" ]
8 if sex == 1:
9 male += 1
10 elif sex == 2:
11 female += 1
12 else:
13 other += 1
14
15# 總數算上,好計算比例啊~
16total = len(friends[1:])
最後輸出結果:
1# 好了,列印結果
2print("男性好友:%.2f%%" % (float(male) / total * 100))
3print("女性好友:%.2f%%" % (float(female) / total * 100))
4print("其他:%.2f%%" % (float(other) / total * 100))
那,這就完了嗎?不!
04 繪製統計圖
為了結果好看一點,我們再下點功夫,利用matplotlib下的pyplot將統計的結果繪製成統計圖,讓資料變得更加直觀。
matplotlib是python上的一個2D繪相簿,它可以在誇平臺上邊出很多高質量的影象。綜旨就是讓簡單的事變得更簡單,讓複雜的事變得可能。我們可以用matplotlib生成 繪圖、直方圖、功率譜、柱狀圖、誤差圖、散點圖等 。
matplotlib.pyplot:提供一個類似matlab的繪圖框架。有關其相關知識,這裡就不過多介紹了,大家可上網自行了解一下,我們這裡用到的程式碼也很簡單,註釋也說得很清楚了:
1# 顏色
2colors = ['yellowgreen', 'lightskyblue', 'lightcoral']
3# 標籤
4labels = ['other', 'male', 'female']
5# 控制讓哪個塊向外一點(這裡選的是中間的那個男性)
6explode = (0, 0.1, 0)
7plt.pie([other, male, female], labels=labels, explode=explode, colors=colors, autopct='%1.1f%%')
8plt.show()
將相關設定設定好以後,就把餅狀圖show出來就可以啦。
05 完整程式碼
欲獲取程式碼,請關注我們的微信公眾號【程式猿聲】,在後臺回覆:pycode03。即可獲取。
微信公眾號推薦文章:10分鐘教你用Python做個打飛機小遊戲超詳細教程
推薦文章:10分鐘教你用python下載和拼接微信好友頭像圖片