Pandas缺失值刪除df.dropna()的使用

函數參數

函數形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)

參數:

  • axis:0或’index’,表示按行刪除;1或’columns’,表示按列刪除。
  • how:‘any’,表示該行/列隻要有一個以上的空值,就刪除該行/列;‘all’,表示該行/列全部都為空值,就刪除該行/列。
  • thresh:int型,默認為None。如果該行/列中,非空元素數量小於這個值,就刪除該行/列。
  • subset:子集。列表,按columns所在的列(或index所在的行)刪除。
  • inplace:是否原地替換調原來的dataframe。佈爾值,默認為False。

整行整列刪除

使用df.dropna()方法刪除缺失值

import pandas as pd
import numpy as np 
 
# 原數據
df = pd.DataFrame({'A':['a1','a1','a2','a2'],
                'B':['b1','b2',None,'b2'],
                'C':[1,2,3,4],
                'D':[5,6,None,8],
                'E':[5,None,7,8]
                 })
 
# 刪除有缺失值的行
res1 = df.dropna()
 
# 刪除有缺失值的列
res2 = df.dropna(1)

結果展示

df

res1

res2

以下是一些常見操作:

# 刪除所有缺失值的行
df.dropna()
 
# 刪除所有缺失值的列
df.dropna(axis = 'columns')
df.dropna(axis = 1)
 
# how參數 {‘any', ‘all'}, default ‘any',any:刪除帶有nan的行;all:刪除全為nan的行
# 刪除所有值都缺失的行
df.dropna(how = 'all')
 
# 刪除至少有兩個缺失值的行
df.dropna(thresh = 2)
 
# 指定判斷缺失值的列范圍
df.dropna(subset = ['B','D'])
 
# 使刪除的結果生效
df.dropna(inplace = True)
 
# 指定列的缺失值刪除
df.col.dropna()
 

需要註意的是,df.dropna()操作不能替換原來的數據。若需要替換,可以重新賦值或者傳入參數inplace = True

到此這篇關於Pandas缺失值刪除df.dropna()的使用的文章就介紹到這瞭,更多相關Pandas缺失值刪除df.dropna()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: