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翻译软件实现代码(使用google api完成)
Nov 26 Python
python使用心得之获得github代码库列表
Jun 25 Python
Python科学计算环境推荐——Anaconda
Jun 30 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
Python实现统计代码行的方法分析
Jul 12 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
如何教少儿学习Python编程
Jul 10 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中文编码小技巧
2014/12/25 PHP
PHP进程同步代码实例
2015/02/12 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
jQuery 对象中的类数组操作
2009/04/27 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
详解用python写一个抽奖程序
2019/05/10 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
贯彻学习两会心得体会范文
2014/03/17 职场文书
计算机系本科生求职信
2014/05/31 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js