前言
Pandas是機器學習三劍客之一,我們知道Numpy能夠對資料進行很好的分析、操作、矩陣計算等,Pandas更側重于資料的處理和分析,它的底層是使用Numpy實作的,在資料處理和分析方面提供了強大的功能。下面就總結一下日常使用操作,以問題的形式羅列。
程式運作環境:window10 Python3.7 (Anaconda) Pandas 1.0.1
編輯工具:jupyter
在日常資料分析中,經常使用的是CSV檔案,本文也主要記錄該檔案的相關處理方式。
(補充:預設的csv檔案是以“,”隔開的文本檔案,使用excel打開時與xls檔案類似)
相關文檔可參考:Pandas中文文檔[1] 、Pandas英文文檔[2]
資料類型
資料預處理是做資料分析、資料挖掘、機器學習等的第一步。下面以泰坦尼克号乘客資訊資料(titanic.csv)資料集做介紹。部分資料展示可參見對應jupyter資料檔案。
通常使用pandas讀取資料後會傳回一個
「DataFrame」資料結構,檢視某一列(行)資料的資料類型傳回一個
「Series」,也就是說DataFrame由Series組成,讀取資料是預設把第一行資料當作列名,可将一個DataFrame認為是一個二維數組資料結構。
問題
「檢視資料的基本資訊」DataFrame提供了info()方法,該方法傳回DataFrame資料的樣本規模、每列資料資訊等。展示如下:
從結果中可以看出,資料891個實體,預設每一行為一個實體,一共12列,每列的資訊也有所展示,例如對應的資料類型,object說明該資料類型為字元串,該檔案在讀到記憶體的大小等。
「檢視資料的統計資訊」DataFrame提供了describe()方法,可以檢視資料的個數、均值、标準差、最大值、最小值等資訊。也可從中看出資料是否存在問題。
df.describe()
「檢視某列各屬性個數」 「擷取資料的列名」 「擷取資料的索引」 「擷取每列資料對應的資料類型」