python微信好友比例分析_python分析微信好友分布

既然wxpy能够获得所有微信好友的信息列表,我们可以用来分析微信好友的男女比例分布以及地区分布

获得微信好友列表

关于怎么登录微信 ,可以参考之前的文章, 这里之列出获取好友的代码

# 获取所有好友

my_friends = bot.friends()

print(type(my_friends))

可以看到my_friends的类型为

官方文档中对于这个类型的说明:

基本聊天对象

Chat

所有的聊天对象均继承于此类型

拥有 微信ID、昵称 等属性

获得好友性别数据

# 使用一个字典统计好友男性和女性的数量

sex_dict = {'male': 0, 'female': 0, 'unknown': 0}

for friend in my_friends:

# 统计性别

if friend.sex == 1:

sex_dict['male'] += 1

elif friend.sex == 2:

sex_dict['female'] += 1

else:

sex_dict['unknown'] += 1

我们可以利用plot的扇形图直观的表现:

def analyseSex(sex_dict):

sexs = list(key for key, value in sex_dict.items())

counts = list(value for key, value in sex_dict.items())

colors = ['red', 'yellowgreen', 'lightskyblue']

plt.figure(figsize=(8, 5), dpi=80)

plt.axes(aspect=1)

plt.pie(counts, # 性别统计结果

labels=sexs, # 性别展示标签

colors=colors, # 饼图区域配色

labeldistance=1.1, # 标签距离圆点距离

autopct='%3.1f%%', # 饼图区域文本格式

shadow=False, # 饼图是否显示阴影

startangle=90, # 饼图起始角度

pctdistance=0.6 # 饼图区域文本距离圆点距离

)

plt.legend(loc='upper right',)

plt.title(u'微信好友性别组成')

plt.show()

最终的效果如下:

ee1aaf837f30c04ef70626ff650684a1.png

还是可以看到男性占多数比例的,预期之中。

微信好友地域分布

# 使用一个字典统计各省好友数量

province_dict = {'北京': 0, '上海': 0, '天津': 0, '重庆': 0,

'河北': 0, '山西': 0, '吉林': 0, '辽宁': 0, '黑龙江': 0,

'陕西': 0, '甘肃': 0, '青海': 0, '山东': 0, '福建': 0,

'浙江': 0, '台湾': 0, '河南': 0, '湖北': 0, '湖南': 0,

'江西': 0, '江苏': 0, '安徽': 0, '广东': 0, '海南': 0,

'四川': 0, '贵州': 0, '云南': 0,

'内蒙古': 0, '新疆': 0, '宁夏': 0, '广西': 0, '西藏': 0,

'香港': 0, '澳门': 0, '国外及未知': 0}

# 统计省份

for friend in my_friends:

if friend.province in province_dict.keys():

province_dict[str(friend.province)] += 1

else:

province_dict['国外及未知'] += 1

最终的数据就不贴了, 贴一下根据这个数据生成的全国分布图:

0ee86f672945d191674a8a39616005ea.png

从结果看, 不出意外,京津地区和上海浙江的好友是最多的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值