利用python数据分析了解你的微信好友地区,性别,个性签名

脚本之家

你与百万开发者在一起

程序猿的那些事、红包送书等活动等着你

源| python爬虫人工智能大数据

环境:windows

技术:itchat、pandas、matplotlib、结巴分词,面向对象写法

先看下方大屏幕,对微信好友个性签名进行词语提取,并做成五角星状的词云形状

对微信好友性别地区进行分析,男朋友近600,女朋友300,还有一些未知生物存在,不小心暴露了小编的性取向,好友分布主要集中于广东和河南,可以猜下小编是哪里人

废话不多说,直接上代码

1、创建一个类,并初始化方法获取朋友信息

self.friends:数据结构列表包含字典,每个字典代表每个好友姓名、地区、签名等信息[{},{},{}]

plt.rcParams用来处理绘图显示中文问题

2、提取名字,性别,省份,城市,签名信息,并保存到新列表

3、pandas将朋友信息列表转成dataframe,并保存为csv方便查看

4、pandas的value_counts()方法可以统计每种性别和每个省份出现的次数,并由大到小排序

这里我们提取省份前15个,并转成dataframe结构

由于有些省份没有填写,为空,通过遍历,将空的省份替换成“未知”

5、绘图,参数说明+绘图方法

6、对获取到的签名数据结巴分词,提取词语

同时因为签名中很多没有意义的词,比如下图的" 的 < > ! "等特殊字符等等 ,我加载了一份我自己做的停用词,做了简单的过滤,踢出这些词语(当然如果仍有一些没踢出的话,停用词词典可以自己进行扩充)

部分停用词截图

获取词语列表后,利用python标准库中的counter方法进行列表中词汇的词频统计,得出每个词汇的词频数据,一共139个词语

7、将词语列表和词频列表传入词云方法,并进行展示

-END-

转载声明:本文转载自「python爬虫人工智能大数据」,搜索「pylearn」即可关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180710B1BG1F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券