zoukankan      html  css  js  c++  java
  • 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下载和拼接微信好友头像图片

  • 相关阅读:
    2.monkey的使用
    1.monkey的安装及环境配置
    3.SQL注入系列二
    2.SQL注入系列一
    1.Appscan工具的使用
    二十二.jmeter的架构和loadrunner原理一样,都是通过中间代理,监控和收集并发客户端发出的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈结果
    二十一.HTTP属性管理
    二十. StringFromFile与counter函数
    十九.jmeter函数---csvRead( )
    十八.jmete java工程测试
  • 原文地址:https://www.cnblogs.com/dengfaheng/p/10029547.html
Copyright © 2011-2022 走看看