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中的hypot()方法使用简介
May 18 Python
python实现手机销售管理系统
Mar 19 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
Jan 21 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
基于python实现获取网页图片过程解析
May 11 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 03 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面向对象编程快速入门
2006/10/09 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php微信开发之图片回复功能
2018/06/14 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
js 对象是否存在判断
2009/07/15 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
在Django的视图(View)外使用Session的方法
2015/07/23 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
python打包生成so文件的实现
2020/10/30 Python
python实现代码审查自动回复消息
2021/02/01 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
财务会计毕业生个人求职信
2014/02/03 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Python 图片添加美颜效果
2022/04/28 Python