如何利用Python分析出微信朋友男女统计图

yipeiwu_com5年前Python基础

写在前面

现在人人都有微信,一句“咱们加个微信呗”搭载了你我之间的友谊桥梁,浑然不知自己的微信朋友已经四五百了,甚至上千,几千的都有;然而那个是那个,谁是谁,是男是女都分不清楚了,今天咱们就来统计一下你微信朋友的男女比例,来看你平常喜欢加男性朋友还是女性朋友,哈哈,暴露了吧。

下面话不多说了,来一起看看详细的介绍吧

环境安装

有一个挺有意思的库是itchat,它是一个开源的微信个人接口,咱们就用itchat来统计自己微信朋友的性别比例,并且用柱状图呈现出来,使自己一目了然。

(1)首先在安装 itchat:

pip install itchat

(2)在安装matplotlib:

pip install matplotlib

登录微信

itchat.auto_login(hotReload=True)

运行程序的时候弹出的微信二维码,需要手机扫码登录微信,才可以继续执行代码以便于进行统计。

以下是完整的程序代码:

import itchat
import matplotlib.pyplot as plt
itchat.auto_login(hotReload=True)
friends=itchat.get_friends(update=True)[0:] #获取所有好友信息
male = female = other =0
for i in friends[1:]:
sex=i["Sex"]

if sex==1:

male+=1

elif sex==2:

female+=1

else:

other+=1

total=len(friends[1:])
print("男性好友: %.2f%%" % (float(male)/total*100) + "\n" +
"女性好友: %.2f%%" % (float(female) / total * 100) + "\n" +
"不明性别好友: %.2f%%" % (float(other) / total * 100))
plt.xlabel("sex")
plt.ylabel("count")
plt.title("Gender statistics")
a=plt.subplot(1,1,1)
plt.bar(10, male, facecolor='red', width=3, label='male')
plt.bar(15, female, facecolor='yellow', width=3, label='female')
plt.bar(20, other, facecolor='blue', width=3, label='other')
plt.legend()
plt.show()

运行以上代码可以得到微信好友的性别比例:

比如我的微信朋友统计画图如下:

从以上柱状图可以看出我的微信朋友统计,

男性好友: 57.99%;

女性好友: 34.32%;

不明性别好友: 7.69%;

可以看出我的男性朋友比女性朋友多得多,由此可以得出我是一个理工钢铁直男,几乎是没救的那种,哈哈哈,不知道大家的怎么样呢,一试便知,哈哈。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

深入探究Python中变量的拷贝和作用域问题

深入探究Python中变量的拷贝和作用域问题

在 python 中赋值语句总是建立对象的引用值,而不是复制对象。因此,python 变量更像是指针,而不是数据存储区域,  这点和大多数 OO 语言类似吧,比如 C++、...

python基础教程项目二之画幅好画

这是《python基础教程》中的第二个项目,关于python操作PDF。 涉及到的知识点 1、urllib的使用 2、reportlab库的使用 这个例子着实很简单,不过我发现在pyt...

调用其他python脚本文件里面的类和方法过程解析

这篇文章主要介绍了调用其他python脚本文件里面的类和方法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题描述: 自己编...

100行Python代码实现每天不同时间段定时给女友发消息

100行Python代码实现每天不同时间段定时给女友发消息

每天不同时间段通过微信发消息提醒女友 简介 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时发消息给她,哪怕是几句话,可是你又忘记了。...

python3下使用cv2.imwrite存储带有中文路径图片的方法

由于imwrite前使用编码在python3中已经不适用,可用imencode代替,以下代码是从视频中获取第2帧保存在中文文件夹下的实例: cap = cv2.VideoCaptur...