python缺失值填充方法示例代碼
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缺失值填充方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python中常用的激活函數(Sigmoid、Tanh、ReLU等)
激活函數 (Activation functions) 對于人工神經網絡模型去學習、理解非常復雜和非線性的函數來說具有十分重要的作用,這篇文章主要介紹了Python中常用的激活函數(Sigmoid、Tanh、ReLU等),需要的朋友可以參考下2023-04-04