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的ORM框架SQLAlchemy入门教程
Apr 28 Python
python如何修改装饰器中参数
Mar 20 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
解决python opencv无法显示图片的问题
Oct 28 Python
python 在屏幕上逐字显示一行字的实例
Dec 24 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
Python学习笔记之装饰器
Aug 06 Python
基于Python实现nc批量转tif格式
Aug 14 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生成静态页面详解
2006/12/05 PHP
php的dl函数用法实例
2014/11/06 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
ajax 文件上传应用简单实现
2009/03/03 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python构建图像分类识别器的方法
2019/01/12 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
应届毕业生简历自我评价
2014/01/31 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
教研处工作方案
2014/05/26 职场文书
如何写好竞聘报告
2019/04/03 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android