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中的闭包
Jul 08 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
Python中str.format()详解
Mar 12 Python
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 Python
python实现小球弹跳效果
May 10 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
Sentry错误日志监控使用方法解析
Nov 12 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基础教程
2015/08/26 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python编程实现归并排序
2017/04/14 Python
Python自定义线程池实现方法分析
2018/02/07 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python实现画图软件功能方法详解
2020/07/28 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
React更新渲染原理深入分析
2022/12/24 Javascript