专栏首页Don的成长史Python分析微信好友性别比例

Python分析微信好友性别比例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/84981665

开头第一句 Python??!

我使用的环境如下:①Python版本3.7;②64位Win10系统;③IDE:PyCharm。

需要pip好的Python库有:①itchat;②matplotlib。

思路分析:首先调用itchat库的函数来扫二维码登录微信,并获取好友列表。然后对好友列表进行遍历,用计数器统计好男性、女性和未填写性别的人数,这三者除以总人数就可以得到它们各自所占的比例。最后利用matplotlib库中的pyplot来把统计结果绘制成饼状统计图,感觉pyplot和matlab的绘图功能很像啊。

源代码:

import itchat
import matplotlib.pyplot as plt

itchat.login()   #微信扫QRcode登录
friends = itchat.get_friends(update=True)[0:]  #获取好友列表
male = female = other = 0   #初始化计数器

#遍历好友列表,列表里自己是第一位,所以不算在好友内
for i in friends[1:]:
    sex = i["Sex"]
    #1表示男性,2表示女性
    if sex == 1:
        male += 1
    elif sex == 2:
        female += 1
    else:
        other += 1
total = len(friends[1:])   #总人数

#打印结果
print("男性好友:%.2f%%"%(float(male/total*100)))
print("女性好友:%.2f%%"%(float(female/total*100)))
print("未填写性别的好友:%.2f%%"%(float(other/total*100)))

#颜色
colors = ['yellowgreen','lightskyblue','lightcoral']
#标签
labels = ['other','male','female']
plt.pie([other,male,female],labels=labels,explode=(0,0,0.1),colors=colors,autopct='%1.1f%%')
plt.show()   #查看性别比例表  我的explode设置的是女性占比部分突出

饼状统计图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【CCF】数字排序

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 【CCF】分蛋糕

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 排序需要移动几个数

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 用aop加redis实现通用接口缓存

    系统在高并发场景下,最有用的三个方法是缓存,限流,降级。 缓存就是其中之一,目前缓存基本上是用redis或者memcached。 redis和memcached...

    猿天地
  • ​qtcling - 一种更好的C++和标准库

    作为一个程序员或编程技术爱好者,你是不是开始厌倦了各种虚拟机语言和脚本语言??no vm scripting

    minlearn
  • Ubuntu下基于Anaconda3 配置任意版本tensorflow和opencv的通用方法

    在Github上利用顶会上深度模型时经常会被tensorflow和opencv的版本问题困扰,比如博主最近遇到的需求:

    于小勇
  • 他们为啥说我没有数据分析思维?

    有同学问“老师,我去面试,被评价为:没有数据分析思维。他们说我偏向销售管理,而不是销售分析。老师我不明白,销售管理和分析区别是啥?”

    接地气的陈老师
  • 电子合同 云合同牵手佩琪集团 引爆人力资源服务新时代

    近日,国内知名人力资源服务机构之一佩琪集团与云合同正式签署战略合作协议,引入云合同电子合同服务项目,全面实现合同在线签署及合同托管,解决了人力资源传统服务受限于...

    用户2144590
  • 快速学习-SpringMVC 中的拦截器

    Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。用户可以自己定义一些拦截器来实现特定的...

    cwl_java
  • SharePoint下在Feature中动态Register/Remove HttpModule

    在SharePoint开发时,你会遇到这样一个问题,Global.asax去哪儿?怎样添加一个Global.asax?怎样在Application_Start这...

    用户1161731

扫码关注云+社区

领取腾讯云代金券