基于python分析微信好友的性别分布,区域分布,词云分析,头像拼接

本文利用python的itcaht库分析微信好友数据,包括性别分布、头像分析(人脸与词云)、签名情感与地理位置分布。结果显示,男性好友占大多数,约25%使用人脸头像,大部分签名传递积极情绪,好友主要分布在一线城市。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果有需要源码的可以关注微信公众号「一行数据」,后台回复"1023",可以获得全套代码直接运行哦

  • 你知道你的微信好友男生多还是女生多吗,(单身?应该能立马答出来吧)

  • 你知道你的微信好友都是什么性格吗,话说你的工资大体是你最好的五个朋友的平均数(可以视情况去除一个最高值和最低值,万一人家拆迁了),那性格是不是大多也可以这么推理呢

  • 你知道你的好友签名正能量多还是负能量多吗,

  • 你知道你的好友全国分布吗

不,你不知道

知道了还怎么看我下面的文章

通过安装第三方工具包itcaht,我们可以通过二维码登陆微信,然后获得我们的好友信息,如下图所示

itchat.auto_login(hotReload=False)
friends = itchat.get_friends(update=True)

然后获取你所有friends的数据,我们可以看到数据是以字典形式呈现的,第一个元素是当前用户。所以,在下面的数据分析流程中,我们始终取friends[1:]作为原始输入数据,集合中的每一个元素都是一个字典结构,以我本人为例,可以注意到这里有Sex、City、Province、HeadImgUrl、Signature这四个字段,我们下面的分析就从这四个字段入手:

1.微信好友性别分布

首先分析好友性别,可以从friends中的Sex中提取出来,然后统计出来男性,女性和未知性别分别有多少,由于小编的好友都是编程爱好者,所以男性占了绝大部分,当然热爱编程的女性好友也是有一定数量滴,可以大致了解在互联网行业男女的比例了,男女比例5:1,按照法定夫妻1:1配比,那么还有剩下的4分男生可以。。。。。当我没说

一行数据好友性别分布

一行数据好友性别分布

def analyseSex(firends):
    sexs = list(map(lambda x: x['Sex'], friends[1:]))
    counts = Counter(sexs).items()
    counts = sorted(counts, key=lambda x: x[0], reverse=False)
    counts = list(map(lambda x: x[1], counts))
    labels = ['女性', '男性', '未知']
    colors = ['red', 'yellowgreen', 'lightskyblue']
    plt.figure(figsize=(8, 5), dpi=80)
    plt.axes(aspect=1)
    plt.pie(counts,
            labels=labels,
            colors=colors,
            labeldistance=1.1,
            autopct='%3.1f%%',
            shadow=False,
            startangle=90,
            pctdistance=0.6
            )
    plt.legend(loc='upper right', )
    plt.title(u'%s的微信好友性别组成' % friends[0]['NickName'])
    plt.show()

2.微信好友头像分析

分析好友头像,从两个方面来分析,第一,在这些好友头像中,使用人脸头像的好友比重有多大;第二,从这些好友头像中,可以提取出哪些有价值的关键字。这里需要根据HeadImgUrl字段下载头像到本地,然后通过腾讯优图提供的人脸识别相关的API接口,检测头像图片中是否存在人脸以及提取图片中的标签。其中,前者是分类汇总,我们使用饼图来呈现结果;后者是对文本进行分析,我们使用词云来呈现结果。

通过者篇文章从微信头像看出你的性格

  • 没太刻意选择过的生活照作头像

    这类人对自己的接纳度比较高,对外貌也比较有自信,不一定长得好看,但是能接纳自己的本来面目。内心没藏太多秘密,也没做过什么见不得人的事儿,在网络世界和现实世界中差别不大。

  • 用风景美图作头像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值