0基礎利用python數據分析----pandas5數據預處理

數據預處理:

當我們拿到一份數據的時候,我們的第一件事就是讀懂數據,第二件事就是開始處理清洗數據。

我們首先導入一份數據,這個數據是泰坦尼克號存活率的相關數據。。上一章我們提到了相關基本類型的操作,這回我寫一下對數據進行預處理的方法。

數據排序:

如果我們想要對一組數據進行排序可以這麼操作:

在上一張圖片中我們拿到的數據默認給dataframe進行了排序,如果我們相同過索引進行降序的操作就調用sort_index的方法,但是要在括號中傳入一個參數,ascending=False 這個的含義就是 對該dataframe通過索引進行降序排序,如果ascending=True的話那麼就是通過升序來排序的。同時=True也是默認的排序方法。

如果我們想通過dataframe裏面的值進行排序的話,跟這個方法類似:

在圖中我們調用了sort_values這個方法給數據進行了排序,裏面ascending=False 傳入了這個參數對該數據進行了降序排序,不過在這裏我們多了一個參數,就是"Fare",這個參數是列的索引,我們是通過這個索引來進行排序。。

同時我們還可以在這個Fare降序排列的基礎上在對其他列進行排序,並保持數據的一致性。

在這裏我們發現,傳參的時候,我們給這兩個列名加了一箇中括號,在pandas中如果對多個列進行操作的時候,就加一個列表把他們包含起來,基本就可以批量操作了。。但是我們寫的時候要注意列表裏面傳參時候的先後順序,誰在前面,就是先給誰排序,後面的會在給第一個參數排序的結果基礎上在進行排序。

對數據進行計算:

很多時候我們拿到的數據都需要對數據進行計算。咱pandas裏面提供了特別方便的計算方法。

首先我們查看一下數據,在這個Age列上有一些事空值,我們如果想過濾掉dataframe裏面有空值的地方可以這麼幹:

在這裏我們通過用pd.isnull的方法先篩選出Age裏面的空值,然後直接判定False,只保留非空的值,在以他作爲索引傳入到read這裏面,我們直接就可以得到乾淨的Age列裏面所有非空的元素。

然後我們在通過這種方式來計算該Age裏面的平均年齡。

當然我們還有更簡便的方法直接用.mean的方法求出該對象中所有非空年齡的平均值。

各等級船票的平均年齡:

在這裏如果我想要做一個數據透視表的話,在這裏我們可以非常簡單的操作,調用.pivot_table的方法第一個index傳入想要篩選列的索引,第二個values傳入的參數是計算列的索引,如果我們後面什麼參數都不填的話,默認的是計算平均值。如果我們想要進行其他操作的話,就這麼幹:

在這裏我們通過存活列的內容,直接用sum的方法計算出這三個等級的船票存活的人數。

也可以通過這種方式來計算出存活率:

通過以上數據咱們可以看出,不同等級的船票存活率也是不一樣的。。


                                                                                這篇暫時先介紹到這裏,以後如果有什麼更好的案例寫出來分享給大家

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