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连接远程ftp服务器并列出目录下文件的方法
Apr 01 Python
python中迭代器(iterator)用法实例分析
Apr 29 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
python中几种自动微分库解析
Aug 29 Python
python中count函数简单的实例讲解
Feb 06 Python
python获取整个网页源码的方法
Aug 03 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
Node.js笔记之process模块解读
2018/05/31 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
基于python实现微信模板消息
2015/12/21 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
python语言的优势是什么
2020/06/17 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
给女儿的表扬信
2014/01/18 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
企业文化标语大全
2014/06/10 职场文书
质量标语大全
2014/06/12 职场文书
大学生活感想
2015/08/10 职场文书