數(shù)據(jù)分析day1:json數(shù)據(jù)處理

數(shù)據(jù)來自《利用python進(jìn)行數(shù)據(jù)分析》附加數(shù)據(jù)文件伺绽,本篇使用采集的用戶匿名數(shù)據(jù)

讀取一行數(shù)據(jù)

很亂,很難看懂

利用第三方轉(zhuǎn)換為易讀模式

每一行都是一個json格式數(shù)據(jù)牧牢,里面有不少數(shù)據(jù)纸兔,目前我能看出來幾個:時區(qū),國家较雕,瀏覽器碉哑,URL啥的

從第二行開始解釋一下:
列表推導(dǎo)式是經(jīng)常使用的挚币,后半句for line in open(path)一行一行讀取這個文件每一行為一個元素,最后輸出為一個列表
json.loads(line)又對每一行的json數(shù)據(jù)進(jìn)行了處理轉(zhuǎn)換為了dict(字典)
所以最終的輸出是一個列表(當(dāng)然這是毋庸置疑的列表推導(dǎo)式肯定返回列表)扣典,里面的每一個元素都是字典妆毕。

可以看到輸出的第一個元素:一個字典


報錯keyerror

這里拋出了一個錯誤,咋一看語句沒啥錯誤贮尖,但是為什么拋出這個錯誤呢笛粘,這里我直接說了:這個列表中的每一個字典并不是都有(時區(qū))tz字段,所以有的就會找不到key啊湿硝,所以會拋出keyerror

如何解決:列表推導(dǎo)式加判斷


可以看到這次可以了薪前,下面再來解釋下這個列表推導(dǎo)式:
首先明確records是一個列表,for rec in records這里的recrecords中的元素:字典
這里就是遍歷records中的每一個字典
原先是直接將每一個字典中的時區(qū)字段取出來組成一個新的列表
但是并不是每一個字典中都有時區(qū)字段关斜,所有加了個判斷if 'tz' in rec如果這個字典存在這個key'tz'再將它取出來
綜上希望能完全理解這個列表推導(dǎo)式示括,會對我們后面的學(xué)習(xí)有很大幫助
最后輸出為一個列表可以切片操作取出前十個看一下

先用笨方法進(jìn)行計數(shù):

兩種方法

兩種方法都能實現(xiàn),第二種可以記一下痢畜,生成了一個字典垛膝,但是其中的所有value存在切默認(rèn)為0
美國紐約

第二個函數(shù)生成的字典很神奇,一個沒有設(shè)置的key丁稀,依然存在吼拥,且value為0
美國紐約的記錄數(shù)為1251
前十位時區(qū)及其計數(shù)值

count_dict.items()返回一個可以遍歷的元組數(shù)組,然后計數(shù)和時區(qū)換下位置线衫,最后輸出一個列表
sort()方法對列表進(jìn)行升序排序(默認(rèn)升序凿可,可自己設(shè)定)

當(dāng)然有簡單的方法

簡單方法

標(biāo)準(zhǔn)庫collections.Counter
使用Counter類直接對這個列表進(jìn)行了計數(shù)
使用most_common(int)函數(shù)直接進(jìn)行排序與取值

下面要學(xué)的是今天的重頭戲,利用科學(xué)計算庫pandas來對時區(qū)進(jìn)行計數(shù)

首先了解一下DataFrame

DataFrame是pandas中最重要的數(shù)據(jù)結(jié)構(gòu)授账,它用于將數(shù)據(jù)表示為一個表格先看一個簡單的例子


DataFrame

內(nèi)容太多枯跑,最好自己嘗試一下,這里的參數(shù)緊接上文矗积,是上文中的參數(shù)

這里輸出的是摘要視圖全肮,主要用于比較大的DataFrame對象

這個時候就已經(jīng)快要完工了,直接取時區(qū)就可以了


計數(shù)完成

這種通過字段查找返回的是一個Series對象棘捣,又一個自帶的value_counts函數(shù)可以自動計數(shù)排序,返回的依然是Series對象辜腺,并且可以進(jìn)行切片操作

替換操作

fillna這里將值為NA的替換為missing,下面執(zhí)行了一個相當(dāng)于查找賦值語句(這一行想深究什么意思建議查資料)乍恐,將值為空的賦值Unknow评疗,

繪圖

這樣就繪制出了常見時區(qū)的條形圖,這里利用的是matplotlib庫茵烈,可能你沒有看到我導(dǎo)入這個庫百匆,這是因為我啟動Ipython的時候使用了--pylab指令,或者你也可以用--matplotlib指令

獲取瀏覽器數(shù)據(jù)

可以看出來索引為a的是瀏覽器相關(guān)信息呜投,下面解釋下第56行的列表推導(dǎo)式是如何拿到瀏覽器數(shù)據(jù)的
首先frame.a.dropna()取到了所有的瀏覽器相關(guān)數(shù)據(jù)并刪除了為空的數(shù)據(jù)加匈,之后遍歷這些數(shù)據(jù)并利用空格切割字符串拿到索引為0的也就是瀏覽器字段

排序


這里解釋一下where的用法存璃,where接收三個參數(shù),第一個是條件雕拼,第二個是滿足條件后的輸出纵东,第三個是不滿足條件的輸出,也就是查找a字段并區(qū)分為兩種啥寇,一種為windows一種為not windows偎球,最后并利用時區(qū)和操作系統(tǒng)排序生成一個新的DataFrame

轉(zhuǎn)載請注明出處

python自學(xué)技術(shù)互助扣扣群:670402334

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辑甜,隨后出現(xiàn)的幾起案子衰絮,更是在濱河造成了極大的恐慌,老刑警劉巖磷醋,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猫牡,死亡現(xiàn)場離奇詭異,居然都是意外死亡子檀,警方通過查閱死者的電腦和手機镊掖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來褂痰,“玉大人,你說我怎么就攤上這事症虑∷跬幔” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵谍憔,是天一觀的道長匪蝙。 經(jīng)常有香客問我,道長习贫,這世上最難降的妖魔是什么逛球? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮苫昌,結(jié)果婚禮上颤绕,老公的妹妹穿的比我還像新娘。我一直安慰自己祟身,他們只是感情好奥务,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著袜硫,像睡著了一般氯葬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婉陷,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天帚称,我揣著相機與錄音官研,去河邊找鬼。 笑死闯睹,一個胖子當(dāng)著我的面吹牛戏羽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瞻坝,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蛛壳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了所刀?” 一聲冷哼從身側(cè)響起衙荐,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浮创,沒想到半個月后忧吟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡斩披,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年溜族,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垦沉。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡煌抒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厕倍,到底是詐尸還是另有隱情寡壮,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布讹弯,位于F島的核電站况既,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏组民。R本人自食惡果不足惜棒仍,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臭胜。 院中可真熱鬧莫其,春花似錦、人聲如沸庇楞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吕晌。三九已至蛋褥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睛驳,已是汗流浹背烙心。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工膜廊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淫茵。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓爪瓜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匙瘪。 傳聞我的和親對象是個殘疾皇子铆铆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359