pandas小筆記——去除資料中的NaN值

cqu_shuai發表於2020-12-19

Pandas 會為缺少的值分配 NaN 值。我們可以選擇對這些NaN值對應的行列進行刪除,也可以選擇填充。

刪除NaN值

  1. data.dropna(how = ‘all’) # 傳入這個引數後將只丟棄全為缺失值的那些行
  2. data.dropna(axis = 1) # 丟棄有缺失值的列
  3. data.dropna(axis=1,how=“all”) # 丟棄全為缺失值的那些列
  4. data.dropna(axis=0,subset = [“Age”, “Sex”]) # 丟棄‘Age’和‘Sex’這兩列中有缺失值的行

預設是原始DataFrame不會改變。你始終可以在 dropna() 方法中將關鍵字 inplace 設為 True,就可以改變原始的data。

填充NaN值

使用data.isnull()方法返回一個大小和data一樣的布林型 DataFrame,並用 True 表示具有 NaN 值的元素,用 False 表示非 NaN 值的元素。

  1. data.fillna(method = ‘ffill’, axis = 0) # 將通過前向填充 (ffill) 方法用同一列的前一個數作為填充
  2. data.fillna(method = ‘ffill’, axis = 1) # 將通過前向填充 (ffill) 方法用同一行的前一個數作為填充
  3. data.fillna(method = ‘backfill’, axis = 0) # 將通過前向填充 (ffill) 方法用同一列的後一個數作為填充
  4. data.fillna(method = ‘backfill’, axis = 1) # 將通過前向填充 (ffill) 方法用同一行的後一個數作為填充
  5. data.interpolate(method = ‘linear’, axis = 0) # 將通過 linear 插值使用同一列的中間值作為填充
  6. data.interpolate(method = ‘linear’, axis = 1) # 將通過 linear 插值使用同一行的中間值作為填充

參考連結

  1. https://www.jb51.net/article/163872.htm

相關文章