Python实现的微信好友数据分析功能示例


Posted in Python onJune 21, 2018

本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下:

这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为itchatpandaspyecharts

1、安装itchat 微信的python sdk,用来获取个人好友关系。获取的代码 如下:

import itchat
import pandas as pd
from pyecharts import Geo, Bar
itchat.login()
friends = itchat.get_friends(update=True)[0:]
def User2dict(User):
  User_dict = {}
  User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN"
  User_dict["City"] = User["City"] if User["City"] else "NaN"
  User_dict["Sex"] = User["Sex"] if User["Sex"] else 0
  User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN"
  User_dict["Province"] = User["Province"] if User["Province"] else "NaN"
  return User_dict
friends_list = [User2dict(i) for i in friends]
data = pd.DataFrame(friends_list)
data.to_csv('wechat_data.csv', index=True)

2、对获取到的数据进行分析。

主要分析了男女比例,以及好友所在城市分布,并且在地图上面展示了微信好友的分布情况。另外其他的数据读者可以自己去分析,这里只是提供一个引导而已。

import pandas as pd
from pyecharts import Geo, Bar
def Cal_mVw(data):
  result = {}
  for i in data:
    if i == 1:
      result["man"] = result.get("man", 0) + 1
    elif i == 2:
      result["woman"] = result.get("woman", 0) + 1
    else:
      result["unknown"] = result.get("nunknown", 0) + 1
  return result
def count_city(data):
  result = {}
  for i in data:
    if data is not "NaN" or data is not "nan":
      result[i] = result.get(i, 0) + 1
  return result
data1 = pd.read_csv('wechat_data.csv', encoding='GBK')
manVSwoman=Cal_mVw(data1["Sex"])
#print(manVSwoman)
bar = Bar("个人微信好友男女比例")
bar.add("男女人数", ["男", "女", "不详"], [139, 75, 1])
bar.render()
city=count_city(data1["City"])
geo = Geo("微信好友分布", "", title_color="#fff", title_pos="center",
width=1200, height=600, background_color='#404a59')
#attr, value = geo.cast(city)
geo.add("", city.keys(), city.values(), visual_range=[0, 30], visual_text_color="#fff", symbol_size=15, is_visualmap=True)
geo.show_config()
geo.render()

男女比例画出来的图如下所示

Python实现的微信好友数据分析功能示例

获取到的好友分布情况如下图所示:

Python实现的微信好友数据分析功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
教你使用python画一朵花送女朋友
Mar 29 Python
Python实现的多进程和多线程功能示例
May 29 Python
通过Pandas读取大文件的实例
Jun 07 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
python add_argument()用法解析
Jan 29 Python
Python办公自动化PPT批量转换操作
Sep 15 Python
python skimage 连通性区域检测方法
Jun 21 #Python
python3实现windows下同名进程监控
Jun 21 #Python
python检测主机的连通性并记录到文件的实例
Jun 21 #Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 #Python
python实现自动发送报警监控邮件
Jun 21 #Python
Python中list查询及所需时间计算操作示例
Jun 21 #Python
python监控文件并且发送告警邮件
Jun 21 #Python
You might like
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
JavaScript实现英语单词题库
2019/12/24 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
Python科学计算之Pandas详解
2017/01/15 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
Python unittest框架操作实例解析
2020/04/13 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
年度考核评语
2014/01/19 职场文书
2014年度考核工作总结
2014/12/24 职场文书
安阳殷墟导游词
2015/02/10 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
个人求职信格式范文
2015/03/20 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis