1、JSON 數據準備
首先準備一份 JSON 數據,這份數據共有 3560 條內容,每條內容結構以下:
本示例主要是以 tz(timezone 時區) 這一字段的值,分析這份數據裏時區的分佈狀況。
2、將 JSON 數據轉換成 Python 字典
代碼以下:
3、統計 tz 值分佈狀況,以「時區:總數」的形式生成統計結果
要想達到這一目的,須要先將 records 轉換成 DataFrame,DataFrame 是 Pandas 裏最重要的數據結構,它能夠將數據以表格的形式表示;而後用 value_counts() 方法彙總:
4、根據統計結果生成條形圖
生成條形圖以前,爲了數據的完整,能夠給結果中缺失的時區添加一個值(這裏用Missing表示),而每條時區內容裏缺失的值也須要添加一個未知的值(這裏用Unknown表示):
而後使用 plot() 方法既可生成條形圖:
到這裏就是一個完整的處理 JSON 數據生成統計結果和條形圖的例子;不過還能夠對這份統計結果進行進一步的處理,以獲得更加詳細的結果。
每條數據裏還有一個 agent 值,即瀏覽器的 USER_AGENT 信息,經過這一信息能夠得知所使用的操做系統,
因此對上一步生成的統計結果還能夠按操做系統的不一樣加以區分。
agent 值:
5、將條形圖以操做系統(Windows/非Windows)加以區分
不是全部的數據都有 a 這個字段,首先過濾掉沒有 agent 值的數據;
而後根據時區和操做系統列表對數據分組,而後
對分組結果進行計數:
最後選擇出現次數最多的10個時區的數據
生成一張條形圖:
這樣就獲得了以不一樣操做系統加以區分的條形圖統計結果: