如何利用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设计】的支持。

相关文章

pytorch实现对输入超过三通道的数据进行训练

案例背景:视频识别 假设每次输入是8s的灰度视频,视频帧率为25fps,则视频由200帧图像序列构成.每帧是一副单通道的灰度图像,通过pythonb里面的np.stack(深度拼接)可将...

python 环境变量和import模块导入方法(详解)

1、定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹;用来存放模块文件 2、导...

Python实现判断并移除列表指定位置元素的方法

Python实现判断并移除列表指定位置元素的方法

本文实例讲述了Python实现判断并移除列表指定位置元素的方法。分享给大家供大家参考,具体如下: 问题很简单,输入一个列表和索引,若索引超出列表范围则返回源列表,否则删除指定索引位置的元...

python的socket编程入门

Flask或者其他框架都是封装的比较完善,我们可以不去关注路由、SESSION等到底是怎么实现的,现在我们使用socket来实现一个带有注册、登录功能的To do网站,这样能对后端框架了...

关于tf.nn.dynamic_rnn返回值详解

关于tf.nn.dynamic_rnn返回值详解

函数原型 tf.nn.dynamic_rnn( cell, inputs, sequence_length=None, initial_state=None, d...