Python處理缺失值的8種不同方法實例_第1頁
Python處理缺失值的8種不同方法實例_第2頁
Python處理缺失值的8種不同方法實例_第3頁
Python處理缺失值的8種不同方法實例_第4頁
Python處理缺失值的8種不同方法實例_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第Python處理缺失值的8種不同方法實例目錄前言1.刪除有缺失值的行或列2.刪除只有缺失值的行或列3.根據閾值刪除行或列4.基于特定的列子集刪除5.填充一個常數值6.填充聚合值7.替換為上一個或下一個值8.使用另一個數據框填充總結

前言

缺失值可能是數據科學中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當地處理它們的方法。

在本文中,我們將介紹8種不同的方法來解決缺失值問題,哪種方法最適合特定情況取決于數據和任務。

讓我們首先創建一個示例數據框并向其中添加一些缺失值。

我們有一個10行6列的數據框。

下一步是添加缺失值。我們將使用loc方法選擇行和列組合,并使它們等于np.nan,這是標準缺失值表示之一。

這是數據框現在的樣子:

item和measure1列具有整數值,但由于缺少值,它們已被向上轉換為浮點數。

在Pandas1.0中,引入了整數類型缺失值表示(),因此我們也可以在整數列中包含缺失值。但是,我們需要顯式聲明數據類型。

盡管有缺失值,我們現在可以保留整數列。

現在我們有一個包含一些缺失值的數據框。是時候看看處理它們的不同方法了。

1.刪除有缺失值的行或列

一種選擇是刪除包含缺失值的行或列。

使用默認參數值,dropna函數會刪除包含任何缺失值的行。數據框中只有一行沒有任何缺失值。同時我們還可以選擇使用軸參數刪除至少有一個缺失值的列。

2.刪除只有缺失值的行或列

另一種情況是有一列或一行充滿缺失值。這樣的列或行是無用的,所以我們可以刪除它們。

dropna函數也可以用于此目的。我們只需要改變how參數的值。

3.根據閾值刪除行或列

基于any或all的刪除并不總是最好的選擇。我們有時需要刪除具有大量或一些缺失值的行或列。

我們不能將這樣的表達式分配給how參數,但Pandas為我們提供了一種更準確的方法,即thresh參數。

例如,thresh=4意味著至少有4個非缺失值的行將被保留。其他的將被丟棄。

我們的數據框有6列,因此將刪除具有3個或更多缺失值的行。

只有第三行有2個以上的缺失值,所以它是唯一一個被丟棄的。

4.基于特定的列子集刪除

在刪除列時,我們可以只考慮部分列。

dropna函數的子集參數用于此任務。例如,我們可以刪除在度量1或度量2列中有缺失值的行,如下所示:

到目前為止,我們已經看到了根據缺失值刪除行或列的不同方法。放棄并不是唯一的選擇。在某些情況下,我們可能會選擇填充缺失值而不是刪除它們。

事實上,填充可能是更好的選擇,因為數據意味著價值。如何填補缺失值,當然取決于數據的結構和任務。

fillna函數用于填充缺失值。

5.填充一個常數值

我們可以選擇一個常量值來替代缺失值。如果我們只給fillna函數一個常量值,它將用該值替換數據框中的所有缺失值。

更合理的方法是為不同的列確定單獨的常量值。我們可以將它們寫入字典并將其傳遞給values參數。

item列中的缺失值替換為1014,而measure1列中的缺失值替換為0。

6.填充聚合值

另一種選擇是使用聚合值,例如平均值、中位數或眾數。

下面這行代碼用該列的平均值替換了第2列中的缺失值。

7.替換為上一個或下一個值

可以用該列中的前一個或下一個值替換該列中的缺失值。在處理時間序列數據時,此方法可能會派上用場。假設您有一個包含每日溫度測量值的數據框,但缺少一天的溫帶。最佳解決方案是使用第二天或前一天的溫度。

fillna函數的方法參數用于執行此任務。

bfill向后填充缺失值,以便將它們替換為下一個值。看看最后一欄。缺失值被替換到第一行。這可能不適合某些情況。

值得慶幸的是,我們可以限制用這種方法替換的缺失值的數量。如果我們將limit參數設置為1,那么一個缺失值只能用它的下一個值替換。后面的第二個或第三個值將不會用于替換。

8.使用另一個數據框填充

我們還可以將另一個數據幀傳遞給fillna函數。新數據框中的值將用于替換當前數據框中的缺失值。

將根據行索引和列名稱選擇值。例如,如果item列的第二行中存在缺失值,則將使用新數據框中相同位置的值。

以上是具有相同列的兩個數據框。第一個沒有任何缺失值。

我們可以使用fillna函數如下:

df中的值將替換為df2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論