Python處理JSON數(shù)據(jù)并生成條形圖
一、JSON 數(shù)據(jù)準(zhǔn)備
首先準(zhǔn)備一份 JSON 數(shù)據(jù),這份數(shù)據(jù)共有 3560 條內(nèi)容,每條內(nèi)容結(jié)構(gòu)如下:
本示例主要是以 tz(timezone 時(shí)區(qū)) 這一字段的值,分析這份數(shù)據(jù)里時(shí)區(qū)的分布情況。
二、將 JSON 數(shù)據(jù)轉(zhuǎn)換成 Python 字典
代碼如下:
三、統(tǒng)計(jì) tz 值分布情況,以“時(shí)區(qū):總數(shù)”的形式生成統(tǒng)計(jì)結(jié)果
要想達(dá)到這一目的,需要先將 records 轉(zhuǎn)換成 DataFrame,DataFrame 是 Pandas 里最重要的數(shù)據(jù)結(jié)構(gòu),它可以將數(shù)據(jù)以表格的形式表示;然后用 value_counts()
方法匯總:
四、根據(jù)統(tǒng)計(jì)結(jié)果生成條形圖
生成條形圖之前,為了數(shù)據(jù)的完整,可以給結(jié)果中缺失的時(shí)區(qū)添加一個(gè)值(這里用Missing表示),而每條時(shí)區(qū)內(nèi)容里缺失的值也需要添加一個(gè)未知的值(這里用Unknown表示):
然后使用 plot()
方法既可生成條形圖:
到這里就是一個(gè)完整的處理 JSON 數(shù)據(jù)生成統(tǒng)計(jì)結(jié)果和條形圖的例子;不過(guò)還可以對(duì)這份統(tǒng)計(jì)結(jié)果進(jìn)行進(jìn)一步的處理,以得到更加詳細(xì)的結(jié)果。
每條數(shù)據(jù)里還有一個(gè) agent 值,即瀏覽器的 USER_AGENT 信息,通過(guò)這一信息可以得知所使用的操作系統(tǒng),所以對(duì)上一步生成的統(tǒng)計(jì)結(jié)果還可以按操作系統(tǒng)的不同加以區(qū)分。
agent 值:
五、將條形圖以操作系統(tǒng)(Windows/非Windows)加以區(qū)分
不是所有的數(shù)據(jù)都有 a 這個(gè)字段,首先過(guò)濾掉沒(méi)有 agent 值的數(shù)據(jù); 然后根據(jù)時(shí)區(qū)和操作系統(tǒng)列表對(duì)數(shù)據(jù)分組,然后 對(duì)分組結(jié)果進(jìn)行計(jì)數(shù):
最后選擇出現(xiàn)次數(shù)最多的10個(gè)時(shí)區(qū)的數(shù)據(jù) 生成一張條形圖:
這樣就得到了以不同操作系統(tǒng)加以區(qū)分的條形圖統(tǒng)計(jì)結(jié)果:
以上就是Python處理JSON數(shù)據(jù)并生成條形圖的全部?jī)?nèi)容,希望本文對(duì)大家學(xué)習(xí)Python和JSON都能有所幫助。
相關(guān)文章
詳解常用查找數(shù)據(jù)結(jié)構(gòu)及算法(Python實(shí)現(xiàn))
本篇文章主要介紹了Python實(shí)現(xiàn)常用查找數(shù)據(jù)結(jié)構(gòu)及算法,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的多種方式匯總
這篇文章主要介紹了Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的多種方式匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03恢復(fù)百度云盤(pán)本地誤刪的文件腳本(簡(jiǎn)單方法)
下面小編就為大家?guī)?lái)一篇恢復(fù)百度云盤(pán)本地誤刪的文件腳本(簡(jiǎn)單方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10Ubuntu下升級(jí) python3.7.1流程備忘(推薦)
這篇文章主要介紹了Ubuntu下升級(jí) python3.7.1流程備忘,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12Python讀取Pickle文件信息并計(jì)算與當(dāng)前時(shí)間間隔的方法分析
這篇文章主要介紹了Python讀取Pickle文件信息并計(jì)算與當(dāng)前時(shí)間間隔的方法,涉及Python基于pickle模塊操作文件屬性相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01如何在Cloud Studio上執(zhí)行Python代碼?
這篇文章主要介紹了如何在Cloud Studio上執(zhí)行Python代碼?,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08