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 基础学习教程
Feb 08 Python
Python使用multiprocessing创建进程的方法
Jun 04 Python
对python中的logger模块全面讲解
Apr 28 Python
Python中作用域的深入讲解
Dec 10 Python
基于python的ini配置文件操作工具类
Apr 24 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 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代码技巧的小结
2013/06/02 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
php实现Mysql简易操作类
2015/10/11 PHP
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
vue中动态添加class类名的方法
2018/09/05 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python内存读写操作示例
2018/07/18 Python
python实现弹窗祝福效果
2019/04/07 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python 实现数组相减示例
2019/12/27 Python
python线程池如何使用
2020/05/28 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
数字漫画:comiXology
2020/06/13 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
考试作弊被抓检讨书
2014/01/10 职场文书
调解协议书
2014/04/16 职场文书
花坛标语大全
2014/06/30 职场文书
2014年质检员工作总结
2014/11/18 职场文书
英文邀请函
2015/02/02 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL