1. 程式人生 > >10分鐘教你用Python玩轉微信之好友性別比例統計分析

10分鐘教你用Python玩轉微信之好友性別比例統計分析

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 = (00.10)
7plt.pie([other, male, female], labels=labels, explode=explode, colors=colors, autopct='%1.1f%%')
8plt.show()

將相關設定設定好以後,就把餅狀圖show出來就可以啦。

05 完整程式碼

欲獲取程式碼,請關注我們的微信公眾號【程式猿聲】,在後臺回覆:pycode03。即可獲取。

微信公眾號微信公眾號

推薦文章:10分鐘教你用Python做個打飛機小遊戲超詳細教程
推薦文章:10分鐘教你用python下載和拼接微信好友頭像圖片