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

yipeiwu_com6年前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 文本过滤和清理问题

问题 某些无聊的脚本小子在Web页面表单中填入了“pýtĥöñ”这样的文本,我们想以某种方式将其清理掉。 解决方案 文本过滤和清理所涵盖的...

基于Django静态资源部署404的解决方法

一. 静态资源static文件放在app中 确认django.contrib.staticfiles包含在INSTALLED_APPS中。 在settings文件中定义STATIC_UR...

Python编程之字符串模板(Template)用法实例分析

Python编程之字符串模板(Template)用法实例分析

本文实例讲述了Python编程之字符串模板(Template)用法。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 字符串格式化操作符,需要程序员明确转换类型...

python 利用for循环 保存多个图像或者文件的实例

在实际应用中,会遇到保存多个文件或者图像的操作,利用for循环可以实现基本要求: for i in range(50): plt.savefig("%d.jpg"%(i+1))...

使用Python的web.py框架实现类似Django的ORM查询的教程

Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关。比如下面这个例子: class Question(models.Mod...