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端口扫描系统实现方法
Nov 19 Python
Python下使用Psyco模块优化运行速度
Apr 05 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
设置python3为默认python的方法
Oct 31 Python
linux环境中没有网络怎么下载python
Jul 07 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
Python实现列表拼接和去重的三种方式
Jul 02 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
jQuery ready函数滥用分析
2011/02/16 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
解读Python中degrees()方法的使用
2015/05/18 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
PyQt QMainWindow的使用示例
2021/03/24 Python
销售部主管岗位职责
2013/12/18 职场文书
总经理的岗位职责
2014/02/23 职场文书
大学生就业意向书范文
2014/04/01 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
社会实践活动总结范文
2014/07/03 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
男方婚礼答谢词
2015/01/20 职场文书
党员证明信
2015/06/19 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
Python  lambda匿名函数和三元运算符
2022/04/19 Python