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 socket C/S结构的聊天室应用实现
Nov 30 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
TensorFlow实现Batch Normalization
Mar 08 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
python脚本实现验证码识别
Jun 07 Python
Python文件路径名的操作方法
Oct 30 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
opencv 阈值分割的具体使用
Jul 08 Python
Python3.9.1中使用match方法详解
Feb 08 Python
python字符串的多行输出的实例详解
Jun 08 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python黑魔法之参数传递
2016/02/12 Python
深入浅析python 中的匿名函数
2018/05/21 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
python处理大日志文件
2019/07/23 Python
原生python实现knn分类算法
2019/10/24 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
python将图片转base64,实现前端显示
2020/01/09 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
考察邀请函范文
2015/01/31 职场文书
超市员工辞职信范文
2015/05/12 职场文书
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis