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通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
Python删除n行后的其他行方法
Jan 28 Python
python批量读取文件名并写入txt文件中
Sep 05 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
如何在python中实现线性回归
Aug 10 Python
python中的测试框架
Nov 13 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
Python中zipfile压缩包模块的使用
May 14 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 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 Array交叉表实现代码
2010/08/05 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
使用js画图之饼图
2015/01/12 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
python实现批量修改文件名代码
2017/09/10 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python hashlib模块的使用示例
2020/10/09 Python
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
村主任当选感言
2015/08/01 职场文书
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技