Python處理JSON數(shù)據(jù)并生成條形圖
一、JSON 數(shù)據(jù)準備
首先準備一份 JSON 數(shù)據(jù),這份數(shù)據(jù)共有 3560 條內(nèi)容,每條內(nèi)容結構如下:

本示例主要是以 tz(timezone 時區(qū)) 這一字段的值,分析這份數(shù)據(jù)里時區(qū)的分布情況。
二、將 JSON 數(shù)據(jù)轉換成 Python 字典
代碼如下:

三、統(tǒng)計 tz 值分布情況,以“時區(qū):總數(shù)”的形式生成統(tǒng)計結果
要想達到這一目的,需要先將 records 轉換成 DataFrame,DataFrame 是 Pandas 里最重要的數(shù)據(jù)結構,它可以將數(shù)據(jù)以表格的形式表示;然后用 value_counts() 方法匯總:

四、根據(jù)統(tǒng)計結果生成條形圖
生成條形圖之前,為了數(shù)據(jù)的完整,可以給結果中缺失的時區(qū)添加一個值(這里用Missing表示),而每條時區(qū)內(nèi)容里缺失的值也需要添加一個未知的值(這里用Unknown表示):

然后使用 plot() 方法既可生成條形圖:

到這里就是一個完整的處理 JSON 數(shù)據(jù)生成統(tǒng)計結果和條形圖的例子;不過還可以對這份統(tǒng)計結果進行進一步的處理,以得到更加詳細的結果。
每條數(shù)據(jù)里還有一個 agent 值,即瀏覽器的 USER_AGENT 信息,通過這一信息可以得知所使用的操作系統(tǒng),所以對上一步生成的統(tǒng)計結果還可以按操作系統(tǒng)的不同加以區(qū)分。
agent 值:

五、將條形圖以操作系統(tǒng)(Windows/非Windows)加以區(qū)分
不是所有的數(shù)據(jù)都有 a 這個字段,首先過濾掉沒有 agent 值的數(shù)據(jù); 然后根據(jù)時區(qū)和操作系統(tǒng)列表對數(shù)據(jù)分組,然后 對分組結果進行計數(shù):

最后選擇出現(xiàn)次數(shù)最多的10個時區(qū)的數(shù)據(jù) 生成一張條形圖:

這樣就得到了以不同操作系統(tǒng)加以區(qū)分的條形圖統(tǒng)計結果:

以上就是Python處理JSON數(shù)據(jù)并生成條形圖的全部內(nèi)容,希望本文對大家學習Python和JSON都能有所幫助。
相關文章
python繪制發(fā)散型柱狀圖+誤差陰影時間序列圖+雙坐標系時間序列圖+繪制金字塔圖
這篇文章主要介紹了python繪制發(fā)散型柱狀圖+誤差陰影時間序列圖+雙坐標系時間序列圖+繪制金字塔圖,詳細的內(nèi)容需要的小伙伴可以參考一下下面文章內(nèi)容2022-08-08
pytorch實現(xiàn)特殊的Module--Sqeuential三種寫法
今天小編就為大家分享一篇pytorch實現(xiàn)特殊的Module--Sqeuential三種寫法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Linux下使用python腳本執(zhí)行BCP導入導出方式
這篇文章主要介紹了Linux下使用python腳本執(zhí)行BCP導入導出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法
今天小編就為大家分享一篇python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Pycharm中切換pytorch的環(huán)境和配置的教程詳解
這篇文章主要介紹了Pycharm中切換pytorch的環(huán)境和配置,本文給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
python對Excel按條件進行內(nèi)容補充(推薦)
這篇文章主要介紹了python對Excel按條件進行內(nèi)容補充的相關知識,非常不錯,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
Python自動化辦公之定時發(fā)送郵件的實現(xiàn)
python中的schedule模塊可以使我們方便簡單的使用定時任務,即在特定的時間自動的執(zhí)行一些任務的功能,本文將用這一模塊實現(xiàn)郵件自動發(fā)送,需要的可以參考一下2022-05-05

