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

本文主要讲利用微信官方提供的itchat接口,爬取微信好友性别比例和地区分布,和个性签名词语词云情况,以便我们更有趣的了解我们的微信好友

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

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第1张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第2张图片

利用python数据分析了解你的微信好友地区,性别,个性签名_第3张图片

废话不多说,直接上代码

1、创建一个类,并初始化方法获取朋友信息
self.friends:数据结构列表包含字典,每个字典代表每个好友姓名、地区、签名等信息[{},{},{}]

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第4张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第5张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第6张图片

利用python数据分析了解你的微信好友地区,性别,个性签名_第7张图片

4、pandas的value_counts()方法可以统计每种性别和每个省份出现的次数,并由大到小排序,这里我们提取省份前15个,并转成dataframe结构
由于有些省份没有填写,为空,通过遍历,将空的省份替换成“未知”

利用python数据分析了解你的微信好友地区,性别,个性签名_第8张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第9张图片

利用python数据分析了解你的微信好友地区,性别,个性签名_第10张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第11张图片

部分停用词截图

利用python数据分析了解你的微信好友地区,性别,个性签名_第12张图片

利用python数据分析了解你的微信好友地区,性别,个性签名_第13张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第14张图片

利用python数据分析了解你的微信好友地区,性别,个性签名_第15张图片

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

利用python数据分析了解你的微信好友地区,性别,个性签名_第16张图片

你可能感兴趣的:(python)