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中的sort方法使用详解
Jul 25 Python
Python实现3行代码解简单的一元一次方程
Aug 18 Python
Python实现求笛卡尔乘积的方法
Sep 16 Python
Python数据类型之Set集合实例详解
May 07 Python
django页面跳转问题及注意事项
Jul 18 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
Python scrapy增量爬取实例及实现过程解析
Dec 24 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
Python3+Selenium+Chrome实现自动填写WPS表单
Feb 12 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
Django修改app名称和数据表迁移方案实现
Sep 17 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
清除输入框内的空格
2016/12/21 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
python实现的文件同步服务器实例
2015/06/02 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
python实现LRU热点缓存及原理
2019/10/29 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
遗产继承公证书
2014/04/09 职场文书
2014年度安全工作总结
2014/12/04 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
红色经典观后感
2015/06/18 职场文书
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
MySQL 服务和数据库管理
2021/11/11 MySQL