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时间模块中的datetime模块
Jan 13 Python
Python使用dis模块把Python反编译为字节码的用法详解
Jun 14 Python
python实时分析日志的一个小脚本分享
May 07 Python
解决pandas 作图无法显示中文的问题
May 24 Python
Python编程flask使用页面模版的方法
Dec 28 Python
详解python中init方法和随机数方法
Mar 13 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
如何在Python对Excel进行读取
Jun 04 Python
keras多显卡训练方式
Jun 10 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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里的JS打印函数
2006/10/09 PHP
提取HTML标签
2006/10/09 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
php无序树实现方法
2015/07/28 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
js的with语句使用方法
2007/09/21 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
工作中个人的自我评价
2013/12/31 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
承诺函格式模板
2015/01/21 职场文书
网络管理员岗位职责
2015/02/12 职场文书
防震减灾主题班会
2015/08/14 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server
Python使用openpyxl模块处理Excel文件
2022/06/05 Python
vscode内网访问服务器的方法
2022/06/28 Servers