数据可视化之用python分析微信好友性别比例

数据可视化之用python分析微信好友性别比例

​ 技术点:数据分析matplotlib使用,微信接口模块itchat,数据统计

知识点讲解

微信登录

登录可以免费领取一万元

import itchat  # 这个模块对微信公开的接口进行封装,大大方便了我们的使用

# 登录
itchat.login()

# 发送一条消息给文件助手
itchat.send('10000元', 'filehelper')

获取好友列表

import itchat

itchat.login()

itchat.send('10000元', 'filehelper')

friends = itchat.get_friends()
print(type(friends))
# friends的类型不是一个列表,但是可以使用切割
print(friends[0:5])
# friends里的对象第一个是你本人,有很多信息,我们只分析这个sex:性别

一个好友对象

[, 'UserName': 'xxx', 'City': '', 'DisplayName': '', 'PYQuanPin': '', 'RemarkPYInitial': '', 'Province': '', 'KeyWord': '', 'RemarkName': '', 'PYInitial': '', 'EncryChatRoomId': '', 'Alias': '', 'Signature': 'xxx', 'NickName': 'xxx', 'RemarkPYQuanPin': '', 'HeadImgUrl': 'xxx', 'UniFriend': 0, 'Sex': 1, 'AppAccountFlag': 0, 'VerifyFlag': 0, 'ChatRoomId': 0, 'HideInputBarFlag': 0, 'AttrStatus': 0, 'SnsFlag': 1, 'MemberCount': 0, 'OwnerUin': 0, 'ContactFlag': 0, 'Uin': xxx, 'StarFriend': 0, 'Statues': 0, 'WebWxPluginSwitch': 0, 'HeadImgFlag': 1}>]

统计性别数量

import itchat

# 先登录 
itchat.login()

# 给一个好友发送消息
itchat.send('10000元', 'filehelper')

friends = itchat.get_friends()
# print(type(friends))
# print(friends[0:5])

male, female, other = 0, 0, 0

# 统计性别
for member in friends:
    sex = member['S ex']

    if sex == 1:  # 男性+1
        male += 1
    elif sex == 2:  # 女性+1
        female += 1
    else:  # ...
        other += 1

print(male, female, other)

画饼图

数据可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。

  • 能将数据进行可视化,更直观的呈现
  • 使数据更加客观、更具说服力

画出一个初级饼图

# 使用饼图分析数据
# matplotlib: This is an object-oriented plotting library
# pytplot是一个与matplotlib交互的接口,他提供了绘图的方法,也就是说这个pyplot就是用来画图的
from matplotlib import pyplot as plt

# 准备一个绘画框架:指定图片的大小(英寸)和像素
plt.figure(figsize=(4, 5), dpi=100)

# 准备数据
male, female, other = 1, 1, 1
sex_count = [male, female, other]

# 传入数据
plt.pie(sex_count)

# 显示图片
plt.show()

完善饼图

一、添加性别描述

二、添加标题

三、显示比例

四、format更改主题描述

最终代码

import itchat
from matplotlib import pyplot as plt

itchat.login()
friends = itchat.get_friends()

male, female, other = 0, 0, 0

# 统计性别
for member in friends:
    sex = member['Sex']

    if sex == 1:  # 男性+1
        male += 1
    elif sex == 2:  # 女性+1
        female += 1
    else:  # ...
        other += 1

print(male, female, other)


# 传入数据
# 准备一个绘画框架:指定图片的大小(英寸)和像素
plt.figure(figsize=(5, 5), dpi=100)

# 准备数据(添加性别文本描述)
sex_name = ['男', '女', '其他']
sex_count = [male, female, other]

# 传入数据
plt.pie(sex_count, labels=sex_name, autopct='%1.2f%%')

# 添加主题描述
plt.title('{}微信好友性别比例示意图'.format(friends[0]['NickName']))
# 显示图片
plt.show()

你可能感兴趣的:(python,Python)