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解析XML的几种常见方法的介绍
Apr 09 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python做简单的字符串匹配详解
Mar 21 Python
python读取与写入csv格式文件的示例代码
Dec 16 Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
Django 缓存配置Redis使用详解
Jul 23 Python
python实现淘宝购物系统
Oct 25 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 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 session和cookie使用说明
2010/04/07 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python全排列操作实例分析
2018/07/24 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
python读取ini配置文件过程示范
2019/12/23 Python
Python实现自动访问网页的例子
2020/02/21 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
几个人围成一圈的问题
2013/09/26 面试题
大学生志愿者活动总结
2014/06/27 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
2015年材料员工作总结
2015/04/30 职场文书
入学证明
2015/06/23 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
Python中22个万用公式的小结
2021/07/21 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android