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中requests使用代理proxies方法介绍
Oct 25 Python
Python闭包函数定义与用法分析
Jul 20 Python
详解Python 正则表达式模块
Nov 05 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
Python3.5运算符操作实例详解
Apr 25 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python对验证码降噪的实现示例代码
Nov 12 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 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原生模板引擎 最简单的模板引擎
2012/04/25 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
Python中shape计算矩阵的方法示例
2017/04/21 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
详解python:time模块用法
2019/03/25 Python
Python二维码生成识别实例详解
2019/07/16 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
自学python用什么系统好
2020/06/23 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
计算机专业大学生的自我评价
2013/11/14 职场文书
北京大学自荐信范文
2014/01/28 职场文书
基督教婚礼主持词
2014/03/14 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
长城导游词300字
2015/01/30 职场文书
升学宴家长答谢词
2015/09/29 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android