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线程中对join方法的运用的教程
Apr 09 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
Python全局变量与局部变量区别及用法分析
Sep 03 Python
python解析json串与正则匹配对比方法
Dec 20 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
python带参数打包exe及调用方式
Dec 21 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
pandas按条件筛选数据的实现
Feb 20 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
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
Yii2如何批量添加数据
2016/05/17 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
用javascript实现画板的代码
2007/09/05 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
贺卡寄语大全
2014/04/11 职场文书
合作经营协议书
2014/04/17 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
爱心募捐通知范文
2015/04/27 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
Flask response响应的具体使用
2021/07/15 Python
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL