首頁 > 軟體

python缺失值填充方法範例程式碼

2022-12-25 14:01:37

1.找到缺失值

匯入資料集

df=pd.read_csv("nba.csv")
df.head(10)

替換異常值(資料集中異常值為“-”)

把資料集中的異常值用“NaN”替換

# 將空值形式的缺失值轉換成可識別的型別
data = data.replace('-', np.NaN)

2.計算缺失值的數量

用# isnull() 函數,確認各列是否有缺失值1.

null_all = df.isnull().sum()
print(null_all)

.sum();表示可以顯示各個列的缺失值數量。

null_all = df.isnull.any(axis=1)#表示那些行具有缺失值,

.any()表示只要按行或列計算,有缺失值就算入
.all()表示所在行或列全為缺失值才計入
.sum()表示計算列缺失值時,一列有多個缺失值,同理,計算行缺失,計算有多少個行

3.處理缺失值

3.1:df.dropna():直接刪除行列

df表示資料集的名稱

  • dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)

括號內上述引數都是函數預設。

axis=0:表示對行進行刪除操作,axis=1:對列刪除進行操作
how=‘any’:表示維度 存在“缺失值”就刪除相應行/列操作;how=‘all’:進行相關行或列刪除操作時,只有所有維度缺失才刪除
thresh=None:等於幾表示有幾個缺失值存在才會刪除所在的行或列。
inplace=False:表示對原來的資料集不進行操作,True時表示對原來的資料集也進行操作。

3.2:df.fillna()填充缺失值

  • fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

axis : {0 or ‘index’, 1 or ‘columns’}

method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}
pad’, ‘ffill:將前面的值填充於後面位置。
backfill’, 'bfill:表示將後面的值填充於前面位置。

data.fillna(data.mean())#平均值填充
data.fillna(data.median())#中位數填充

3.3:KNN填充

from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors=4)#鄰居樣本求平均數
df1=imputer.fit_transform(df)

4.檢視資料集的末尾

df.tail(10)

檢視末尾10行

總結

到此這篇關於python缺失值填充方法的文章就介紹到這了,更多相關python缺失值填充方法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com