缺失值處理

2022-09-15 15:42:16 字數 3046 閱讀 4910

import

pandas as pd

import

numpy as np

from sklearn.preprocessing import

imputer

#生成缺失資料

df = pd.dataframe(np.random.randn(6,4),columns=['

col1

','col2

','col3

','col4'])

df.iloc[1:2,1] =np.nan

df.iloc[4,3] =np.nan

print

(df)

#檢視哪些資料缺失

nan_all = df.isnull()#

獲得資料框中的na值

print

(nan_all)

#檢視哪些列缺失

nan_col1 = df.isnull().any()#

獲得含有na的列

nan_col2 = df.isnull().all()#

獲得全部為na的列

print

(nan_col1)

print

(nan_col2)

#丟棄缺失值

df2 =df.dropna()

print

(df2)

#使用sklearn將缺失值換成特定值

nan_model = imputer(missing_value='

nan',strategy='

mean

',axis=0)#

建立替換規則:將值為nan的缺失值用均值做替換

nan_result = nan_model.fit_transform(df)#

應用模型規則

print

(nan_result)

#使用pandas將缺失值換為特定值

nan_result_pd1 = df.fillna(method='

backfill

')#用後面的值替換缺失值

nan_result_pd2 = df.fillna(method='

bfill

',limit=1)#

用後面的值替換缺失值,限制每列只能替換乙個缺失值

nan_result_pd3 = df.fillna(method='

pad')#

用前面的值替換缺失值

nan_result_pd4 = df.fillna(0)#

用0替換缺失值

nan_result_pd5 = df.fillna()#

用不同值替換不同列的缺失值

nan_result_pd6 = df.fillna(df.mean()['

col2

':'col4

'])#

用平均值代替,選擇各自列的均值替換缺失值

#列印輸出

print

(nan_result_pd1)

print

(nan_result_pd2)

print

(nan_result_pd3)

print

(nan_result_pd4)

print

(nan_result_pd5)

print(nan_result_pd6)

import pandas as pd

import numpy as np

from sklearn.preprocessing import imputer

#生成缺失資料

df = pd.dataframe(np.random.randn(6,4),columns=['col1','col2','col3','col4'])

df.iloc[1:2,1] = np.nan

df.iloc[4,3] = np.nan

print(df)

#檢視哪些資料缺失

nan_all = df.isnull()#獲得資料框中的na值

print(nan_all)

#檢視哪些列缺失

nan_col1 = df.isnull().any()#獲得含有na的列

nan_col2 = df.isnull().all()#獲得全部為na的列

print(nan_col1)

print(nan_col2)

#丟棄缺失值

df2 = df.dropna()

print(df2)

#使用sklearn將缺失值換成特定值

nan_model = imputer(missing_value='nan',strategy='mean',axis=0)#建立替換規則:將值為nan的缺失值用均值做替換

nan_result = nan_model.fit_transform(df)#應用模型規則

print(nan_result)

#使用pandas將缺失值換為特定值

nan_result_pd1 = df.fillna(method='backfill')#用後面的值替換缺失值

nan_result_pd2 = df.fillna(method='bfill',limit=1)#用後面的值替換缺失值,限制每列只能替換乙個缺失值

nan_result_pd3 = df.fillna(method='pad')#用前面的值替換缺失值

nan_result_pd4 = df.fillna(0)#用0替換缺失值

nan_result_pd5 = df.fillna()#用不同值替換不同列的缺失值

nan_result_pd6 = df.fillna(df.mean()['col2':'col4'])#用平均值代替,選擇各自列的均值替換缺失值

#列印輸出

print(nan_result_pd1)

print(nan_result_pd2)

print(nan_result_pd3)

print(nan_result_pd4)

print(nan_result_pd5)

print(nan_result_pd6)

缺失值處理

pandas使用nan not a number 表示浮點和非浮點陣列中的缺失資料,python內建的none值也會被當做na處理,pandas物件上的所有描述統計都排除了缺失資料。na處理方法 方法 說明dropna 根據各標籤的值是否存在缺失資料對軸標籤進行過濾,可通過閾值調節對缺失值的容忍度 ...

缺失值處理

之前寫過一篇文章缺失值視覺化處理 missingno 主要介紹了缺失值的檢視,今天聊一下,出現了缺失值後我們要做的後續工作,就是缺失值的處理。首先附上幾個 data資料集 data.isnull 缺失值判斷 是缺失值返回true,否則範圍false data.isnull sum 缺失值計算 返回每...

缺失值處理

資料清洗主要是刪除原始資料集中的無關資料 重複資料,平滑雜訊資料,去除與資料探勘主題無關的資料,處理缺失值 異常值等 缺失主要為完全隨機缺失,隨機缺失和非隨機缺失 資料的缺失是隨機的,資料的缺失不依賴於任何不完全變數或完全變數。資料的缺失不是完全隨機的,即該類資料的缺失依賴於其他完全變數。資料的缺失...