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中获取网页状态码的两个方法
Nov 03 Python
python模拟鼠标拖动操作的方法
Mar 11 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
详解Python中映射类型的内建函数和工厂函数
Aug 19 Python
Python3 replace()函数使用方法
Mar 19 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
Python hashlib和hmac模块使用方法解析
Dec 08 Python
python 视频下载神器(you-get)的具体使用
Jan 06 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
Zend的AutoLoad机制介绍
2012/09/27 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
初始Nodejs
2014/11/08 NodeJs
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
python实现日常记账本小程序
2018/03/10 Python
Django框架多表查询实例分析
2018/07/04 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
师范生自我鉴定范文
2013/10/05 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
校园环保标语
2014/06/13 职场文书
党建工作整改措施
2014/10/28 职场文书
2014年营业员工作总结
2014/11/18 职场文书
会计专业求职信范文
2015/03/19 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
Go 语言中 20 个占位符的整理
2021/10/16 Golang
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android