一、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個時區的數據
生成一張條形圖:

這樣就得到了以不同操作系統加以區分的條形圖統計結果:
