初探:使用Python進行數據分析,內容優質

在日常工作中,數據處理類的任務主要包括以下幾類:

與外界進行交互:讀寫各種數據文件及數據庫。

準備工作:對數據進行清理、修整、整合、規範化、重塑、切片切塊、變形等處理以便於進行分析。

轉換:對數據集進行數學統計運算產生新的數據集。(比如根據分組變量對一個大表進行聚合)

建模和計算:將數據與統計模型、機器學習算法或其他計算工具聯繫起來。

展示:創建交互式或靜態的圖片或文字摘要。

利用pandas對http://1.usa.gov數據時區進行計數:

DataFrame是pandas中最重要的數據結構,用於將數據表示為一個表格:

初探:使用Python進行數據分析,內容優質

frame['tz']返回的Series對象有一個value_counts()方法,該方法統計Series中詞條出現的頻率,並按頻率降序排列:

初探:使用Python進行數據分析,內容優質

記錄中缺失值可以用fillna函數替換,未知值可以用布爾型數組索引替換:

初探:使用Python進行數據分析,內容優質

然後可以利用繪圖庫(matplotlib)的plot方法為這十條數據生成一張水平條形圖。(注意ipython一定要以pylab模式打開,否則以下代碼無效)

初探:使用Python進行數據分析,內容優質

條形圖如下,統計.http://usa.gov數據中最常出現的時區:

初探:使用Python進行數據分析,內容優質

還可以對這種類型的數據進行許多處理,以a字段為例,我們可以將a字段的第一節分離出來,得到一份用戶行為摘要:

初探:使用Python進行數據分析,內容優質

現在可以按照Windows和非Windows用戶對時區統計信息進行分解:

初探:使用Python進行數據分析,內容優質

接下來就可以按照時區和操作系統對數據進行分組,計數,重塑:

初探:使用Python進行數據分析,內容優質

下面選取最常出現的時區:

初探:使用Python進行數據分析,內容優質

然後我們使用stacked=True生成一張堆積條形圖:

初探:使用Python進行數據分析,內容優質

為了看清較小分組中Windows用戶的比例,可以將各行規範化為“總計為1”,重新繪圖:

初探:使用Python進行數據分析,內容優質

MovieLens 1M數據集

該數據集是一組電影評分數據,分為三個表:評分、用戶信息和電影信息,可以通過pandas.read_table將每個表讀到一個DataFrame對象中:

初探:使用Python進行數據分析,內容優質

利用merge函數將所有數據合併到一個表中,並根據性別計算電影的平均得分:

初探:使用Python進行數據分析,內容優質

過濾掉評分數據不足250條的電影,並瞭解女性觀眾最喜歡的電影(對F列降序):

初探:使用Python進行數據分析,內容優質

找出男性和女性觀眾分歧最大的電影:

初探:使用Python進行數據分析,內容優質

找出分歧最大的電影(不考慮性別),可以計算得分的方差或標準差:

初探:使用Python進行數據分析,內容優質

1880-2010全美嬰兒姓名

該數據集按年度分割成了多個文件,利用pandas.concat將所有數據組裝到一個DataFrame裡,並加上一個year字段:

初探:使用Python進行數據分析,內容優質

將names數據在sex和year級別上進行聚合:

初探:使用Python進行數據分析,內容優質

初探:使用Python進行數據分析,內容優質

插入一個prop列,用於存放指定名字的嬰兒數相對於總出生數的比例:

初探:使用Python進行數據分析,內容優質

驗證所有分組的prop總和是否為1:

初探:使用Python進行數據分析,內容優質

為了便於進一步分析,取出該數據的一個子集:每對sex/year組合的前1000個名字:

初探:使用Python進行數據分析,內容優質

接下來的數據分析工作就針對這個top1000數據集了。

幾個男孩和女孩名字隨時間變化的使用數量:

初探:使用Python進行數據分析,內容優質

初探:使用Python進行數據分析,內容優質

接下來還可以分析命名趨勢,命名多樣性的變化等,這裡由於對pandas方法還不是很熟悉,就不一一試驗了。

大多是《利用python進行數據分析》的筆記


分享到:


相關文章: