pandas閱讀筆記

這幾天在閱讀python的pandas庫。現在還在閱讀第二章的內容,在第二章中又一個實例,有一個關於電影數據的數據集,然後,我們對它做一些簡單的分析,做個今天學習的總結。

Part 1 讀取數據

首先使用的是pandas的read_table函數,函數主要又以下幾個參數:
filepath_or_buffer:該參數主要是要讀取數據集的路徑
sep : 該參數主要是用來在讀取文件時候,遇到分隔符時讀取不同的數據。
headers:在pandas的文檔中的定義如下:
參數headers
一般使用的時候都是將這個參數設爲None,如果把它設爲0的時候,它就會從第二個數據開始讀入。所以傳入一個整數n的時候,我一般是理解成它是都從n+2開始讀取數據(這裏沒有考慮數據集剛開始有無關元素的情況)。傳入一個list的時候沒有試過,這裏就不敢亂說。
names: 這個參數主要是一個list用來存儲列對應的名字。
engine : 這個參數書中是沒有設定的,但是編譯的過程老是有個warning。用於設定使用那個解析器引擎。
讀取文件的使用使用到的主要是這樣幾個參數。

Part 2 兩個Data Frame進行merge操作

關於兩項數據的合併操作感覺和數據庫中的概念差不多,如果直接使用pandas.merge(DataFrame1,Dataframe2)就會自動把根據兩項數據中含有相同的列名字來進行合併。還可以通過on參數來指明根據某一列或者某幾列來進行合併。經過這一步,它就可以把來自不同的幾個數據集進行合併操作。

Part 3 對數據進行分析
根據不同性別來統計各個電影的評分
這裏主要使用的一個函數是pivot_table() 這裏需要說明的是原書中這裏有一個錯誤,參數使用錯誤。參閱文檔我們可以知道pivot_table函數的原型如下
pivot_table函數
這裏主要說一下我對這個函數各個參數的理解。
data: 主要指的是使用的哪一個數據。
values: 指需要對哪一列的值進行聚合,在書中的問題,由於要統計各個電影的評分,所以需要聚合的數據是‘rating’列
index: 這個參數主要用於對它進行分組,在書中使用的”title”參數,什麼意思呢?我們需要對電影的評分進行一個統計,這裏針對的某一部電影的統計,所以這裏需要按電影的名字分組。
columns: 指生成的新的數據表格的列的名字是什麼。在書中需要對不同的性別對電影評分的統計,那麼它就需要根據原數據中的‘’gender”來對它進行分類。
aggfunc: 指使用的何種函數對數據進行統計。
對於這個函數,就可以這樣理解嘛!首先你要說明你對哪個DataFrame進行操作,也就是對第一個參數data的賦值。之後呢,你就需要選擇對哪一個元素進行統計,最後的值是要成爲新的DataFrame內的值的,這個值就是value參數指定使用哪一列計算的。下一步呢,你需要指定說明你這個新的DataFrame的行和列是什麼,對於不同的情況,你就要考慮你最後需要產生的行和列是什麼。這樣就可以把該DataFrame的數據進行某些統計和分析。

Part 4 進一步分析

到上面爲止,我們就對數據進行了一些簡單的分析,統計不同性別對電影的評分。爲了把我們做的更加科學一點,我們會在統計的時候,設定一些條件,例如,對於某個電影的評價的人太少了,那它最後的評分可能就沒有什麼意義了。這裏就又使用到了Groupby()這個函數,以及index的東西,但是後面的自己沒有進行多少實踐,也沒什麼特別的感受,所以這裏就不繼續分享了。

總結: 今天呢主要是開始看Python的Pandas庫,主要就學到了read_table()、merge()、pivot_table()這幾個函數的用法,雖然是一些相對簡單的函數,但是,就這幾個函數還是可以對數據進行一些比較簡單的分析的。(ง •_•)ง後面還有很多知識!要繼續學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章