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
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
python入门前的第一课 python怎样入门
Mar 06 Python
python调用动态链接库的基本过程详解
Jun 19 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
python 命令行传入参数实现解析
Aug 30 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
分享3个非常实用的 Python 模块
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
yii实现级联下拉菜单的方法
2014/07/31 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
python批量导出导入MySQL用户的方法
2013/11/15 Python
python实现socket客户端和服务端简单示例
2014/02/24 Python
Python获取任意xml节点值的方法
2015/05/05 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
详解python中的 is 操作符
2017/12/26 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
简单了解python列表和元组的区别
2020/05/14 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
高职教师岗位职责
2013/12/24 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
安全标兵事迹材料
2014/08/17 职场文书
现实表现材料范文
2014/12/23 职场文书
五年级学生期末评语
2014/12/26 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL