《利用Python進(jìn)行數(shù)據(jù)分析》——案例1從Bitly獲取數(shù)據(jù)

這個(gè)案例主要目的是轉(zhuǎn)換json類(lèi)型的數(shù)據(jù)霉猛,利用python和pandas方法進(jìn)行計(jì)數(shù)印蔗。
step1:獲取數(shù)據(jù)

將json格式數(shù)據(jù)轉(zhuǎn)化成python對(duì)象

import json
path=r'D:\datasets\bitly_usagov\example.txt'#寫(xiě)自己的路徑
records=[json.loads(line) for line in open(path,encoding='utf8')]
#小tips:json.load和json.loads的都是將json轉(zhuǎn)換成python 
#區(qū)別是:引用:https://zhuanlan.zhihu.com/p/373661877
records數(shù)據(jù).png

step2純python時(shí)區(qū)計(jì)數(shù)
1.獲取時(shí)區(qū)+計(jì)數(shù)

time_zones=[rec['tz'] for rec in records if 'tz' in rec]#不進(jìn)行判斷則會(huì)遇到中斷報(bào)錯(cuò)
#遍歷時(shí)區(qū)使用字典進(jìn)行存儲(chǔ)計(jì)數(shù)
def get_counts(sequence):
  counts={}
  for x in sequence:
      if x in counts:
         counts[x]+=1
     else:
         counts[x]=1
  return counts
#利用python中的高級(jí)工具,可以讓過(guò)程更簡(jiǎn)潔
from collections import  defaultdict
def getcounts2(sequence):
   counts=defaultdict(int)#初始值為1游昼,格式為字典
   for x in sequence:
       counts[x]+=1
   return counts
#應(yīng)用函數(shù)
counts=get_counts(time_zones)
#看某個(gè)時(shí)區(qū)的計(jì)數(shù)是多少
counts['American/New_York']

2.對(duì)以上字典形式進(jìn)行計(jì)數(shù)

#定義一個(gè)排序函數(shù)是牢,得到排序前10的時(shí)區(qū)
def top_counts(count_dict,n=10):
  value_key_pairs=[(count,tz) for tz,count in count_dict.items()]#items()表示字典的key+values
  value_key_pairs.sort()#默認(rèn)對(duì)值進(jìn)行排序
  return  value_key_pairs[-n:]
 top_counts(counts)

3.更更簡(jiǎn)單的方法斯稳,直接用python標(biāo)準(zhǔn)庫(kù)的collections.Counters類(lèi)
從僅獲取時(shí)區(qū)后開(kāi)始

from collections import Counter
counts=Counter(time_zones)#以字典形式存儲(chǔ)計(jì)數(shù)
counts.most_commom(10)#由高到低排列
時(shí)區(qū)排序.png

step3 使用pandas計(jì)數(shù)

#使用value_counts()函數(shù)進(jìn)行計(jì)數(shù)
import pandas as pd 
frame=pd.DataFrame(records)#相當(dāng)于把字典的每個(gè)Key作為列標(biāo)簽
tz_counts=frame['tz'].value_counts()#直接使用value_counts()函數(shù)進(jìn)行計(jì)數(shù)
tz_counts[:10]#選取前10名
#缺失值進(jìn)行填充
clean_tz=frame['tz'].fillna('Missing')
clean_tz[clean_tz==' ']='unknow'#按條件獲取值

step4 可視化 seaborn

import seaborn as sns
sns.barplot(y=subset.index,x=subset.values)#barplot柱狀圖 catplot 散點(diǎn)圖

5.補(bǔ)充一些語(yǔ)句

#類(lèi)似if的語(yǔ)句
np.where(條件,條件為真時(shí)的值,條件為假時(shí)的值)
#某個(gè)字段是否有某值
frame['a'].str.contains('w')#判斷a列的值里面是否有‘w’字
#分組計(jì)數(shù)(grouoby)時(shí)用size()
#列標(biāo)簽變成一欄
data.reset_index()



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載踪少,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者骗灶。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市秉馏,隨后出現(xiàn)的幾起案子耙旦,更是在濱河造成了極大的恐慌,老刑警劉巖萝究,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件免都,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡帆竹,警方通過(guò)查閱死者的電腦和手機(jī)绕娘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)栽连,“玉大人险领,你說(shuō)我怎么就攤上這事∶虢簦” “怎么了绢陌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)熔恢。 經(jīng)常有香客問(wèn)我脐湾,道長(zhǎng),這世上最難降的妖魔是什么叙淌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任秤掌,我火速辦了婚禮,結(jié)果婚禮上鹰霍,老公的妹妹穿的比我還像新娘闻鉴。我一直安慰自己,他們只是感情好茂洒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布孟岛。 她就那樣靜靜地躺著,像睡著了一般获黔。 火紅的嫁衣襯著肌膚如雪蚀苛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天玷氏,我揣著相機(jī)與錄音堵未,去河邊找鬼。 笑死盏触,一個(gè)胖子當(dāng)著我的面吹牛渗蟹,可吹牛的內(nèi)容都是我干的块饺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼雌芽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼授艰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起世落,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤淮腾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后屉佳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谷朝,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年武花,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了圆凰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡体箕,死狀恐怖专钉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情累铅,我是刑警寧澤跃须,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站争群,受9級(jí)特大地震影響回怜,放射性物質(zhì)發(fā)生泄漏大年。R本人自食惡果不足惜换薄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翔试。 院中可真熱鬧轻要,春花似錦、人聲如沸垦缅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)壁涎。三九已至凡恍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間怔球,已是汗流浹背嚼酝。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竟坛,地道東北人闽巩。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓钧舌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親涎跨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子洼冻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容