Python处理JSON数据并生成条形图


Posted in Python onAugust 05, 2016

一、JSON 数据准备

首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下:

Python处理JSON数据并生成条形图

本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况。

二、将 JSON 数据转换成 Python 字典

代码如下:

Python处理JSON数据并生成条形图

三、统计 tz 值分布情况,以“时区:总数”的形式生成统计结果

要想达到这一目的,需要先将 records 转换成 DataFrameDataFrame Pandas 里最重要的数据结构,它可以将数据以表格的形式表示;然后用 value_counts() 方法汇总:

Python处理JSON数据并生成条形图

四、根据统计结果生成条形图

生成条形图之前,为了数据的完整,可以给结果中缺失的时区添加一个值(这里用Missing表示),而每条时区内容里缺失的值也需要添加一个未知的值(这里用Unknown表示):

Python处理JSON数据并生成条形图

然后使用 plot() 方法既可生成条形图:

Python处理JSON数据并生成条形图

到这里就是一个完整的处理 JSON 数据生成统计结果和条形图的例子;不过还可以对这份统计结果进行进一步的处理,以得到更加详细的结果。

每条数据里还有一个 agent 值,即浏览器的 USER_AGENT 信息,通过这一信息可以得知所使用的操作系统,所以对上一步生成的统计结果还可以按操作系统的不同加以区分。

agent 值:

Python处理JSON数据并生成条形图

五、将条形图以操作系统(Windows/非Windows)加以区分

不是所有的数据都有 a 这个字段,首先过滤掉没有 agent 值的数据; 然后根据时区和操作系统列表对数据分组,然后 对分组结果进行计数:

Python处理JSON数据并生成条形图

最后选择出现次数最多的10个时区的数据 生成一张条形图:

Python处理JSON数据并生成条形图

这样就得到了以不同操作系统加以区分的条形图统计结果:

Python处理JSON数据并生成条形图

以上就是Python处理JSON数据并生成条形图的全部内容,希望本文对大家学习Python和JSON都能有所帮助。

Python 相关文章推荐
跟老齐学Python之Import 模块
Oct 13 Python
Python选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
Python设计模式之抽象工厂模式
Aug 25 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
微信跳一跳自动运行python脚本
Jan 08 Python
详解Python中如何写控制台进度条的整理
Mar 07 Python
python单例模式实例解析
Aug 28 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
详解python:time模块用法
Mar 25 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 Python
使用python实现滑动验证码功能
Aug 05 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
用Python解决计数原理问题的方法
Aug 04 #Python
快速入手Python字符编码
Aug 03 #Python
Python采用Django制作简易的知乎日报API
Aug 03 #Python
利用Python实现图书超期提醒
Aug 02 #Python
Python正规则表达式学习指南
Aug 02 #Python
Python实现SMTP发送邮件详细教程
Mar 02 #Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 #Python
You might like
PHP操作数组相关函数
2011/02/03 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
node网页分段渲染详解
2016/09/05 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
Python程序中设置HTTP代理
2016/11/06 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
简单了解django索引的相关知识
2019/07/17 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
酒店保安领班职务说明书
2014/03/04 职场文书
授权委托书样本
2014/04/03 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
Python 中random 库的详细使用
2021/06/03 Python