利用Python进行数据分析(2) 尝试处理一份JSON数据并生成条形图

一、JSON 数据准备

首先准备一份 JSON 数据,这份数据共有 3560 条数据,每条内容结构如下:



本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况。

二、将 JSON 数据转换成 Python 字典

代码如下:


三、统计tz值分布情况,以“时区:总数”的形式生成统计结果

要想达到这一目的,需要先将 records 转换成 DataFrame,DataFrame 是 Pandas 里最重要的数据结构,它可以将数据以表格的形式表示;然后用 value_counts() 方法汇总:


四、根据统计结果生成条形图

生成条形图之前,为了数据的完整,可以给结果中缺失的时区添加一个值(这里用Missing表示),而每条时区内容里缺失的值也需要添加一个未知的值(这里用Unknown表示):



然后使用 plot() 方法既可生成条形图:



到这里就是一个完整的处理 JSON 数据生成统计结果和条形图的例子;接下来对这份统计结果还可以继续进行处理,以得到更加详细的结果。

每条数据里还有一个 agent 值,即浏览器的 USER_AGENT 信息,通过这一信息可以得知所使用的操作系统,所以对上一步生成的统计结果还可以按操作系统的不同再加以区分。
agent 值:


五、将条形图以操作系统(Windows/非Windows)加以区分

不是所有的数据都有 a 这个字段,首先过滤掉没有 agent 值的数据; 然后根据时区和操作系统列表对数据分组,然后 对分组结果进行计数:



最后选择出现次数最多的10个时区的数据 生成一张条形图:



条形图统计结果:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,218评论 6 13
  • 今天早间新闻预报有雨,结果走出办公楼的西门,金灿灿的西落之光普照大地,久坐室内空调下的我顿觉得股股热流环绕全身,这...
    杰瑞的Jerry阅读 361评论 0 0
  • 习惯一、记账 一个账本包含:目的、方法、用途、到账本分析、资金规划 这些有用的深意。 记账本身是小事,当你可以把账...
    电原阅读 229评论 0 0