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实例之wxpython中Frame使用方法
Jun 09 Python
Python实现发送email的几种常用方法
Aug 18 Python
Python version 2.7 required, which was not found in the registry
Aug 26 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python中的随机函数小结
Jan 27 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
wxPython多个窗口的基本结构
Nov 19 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
基于Python爬取股票数据过程详解
Oct 21 Python
Python如何实现Paramiko的二次封装
Jan 30 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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
js打造数组转json函数
2015/01/14 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
2016/08/02 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
用pickle存储Python的原生对象方法
2017/04/28 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
python装饰器使用实例详解
2019/12/14 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
使用html5制作loading图的示例
2014/04/14 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
医务人员自我评价
2014/01/26 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
教师党员承诺书
2014/03/25 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL