缺失值處理

2022-06-07 14:42:10 字數 2450 閱讀 9685

缺失值處理import

numpy as np

import

pandas as pd

data = np.array([1,2,5,4,np.nan])

print

(data)

print('

numpy 有專門的nansum,nanmax等操作處理缺失值')

#r = data.sum()

r =np.nansum(data)

print

(r)print('

pandas 將none和np.nan都處理為nan')

data = pd.series([2,3,none, 4,5,np.nan])

print

(data)

print('

-'*10,'

獲取缺失值

','-

'*10)

index =data.isnull()

print

(data[index])

print('

-'*10,'

剔除缺失值

','-

'*10)

df = pd.dataframe([[1,2,np.nan],

[4,none,5],

[6,7,8]])

print

(df)

dd =df.dropna()

print

(dd)

print('

原始的df不會去掉nan,需要接一下')

print('

剔除缺失值的列')

dd = df.dropna(axis = 1)#

等價於axis=『columns』

print

(dd)

print('

how="any",只要存在缺失值就剔除;how=all,全部都是缺失值才會剔除')

#缺失值填充import

numpy as np

import

pandas as pd

df = pd.dataframe([[1,2,np.nan],

[4,none,5],

[6,7,8]], index=list('

abc'),columns=list('

abc'

))print('

-'*10,'

原始df資料

','-

'*10)

print

(df)

print('

-'*10,'

缺失值填充預設值0

','-

'*10)

dd =df.fillna(0)

print

(dd)

print('

-'*10,'

缺失值填充前一行元素

','-

'*10)

dd = df.fillna(method='

ffill')

print

(dd)

print('

-'*10,'

缺失值填充後一行元素

','-

'*10)

dd = df.fillna(method='

bfill')

print

(dd)

print('

-'*10,'

缺失值填充前一列元素

','-

'*10)

dd = df.fillna(method='

ffill

',axis = 1)

print

(dd)

print('

-'*10,'

缺失值填充後一列元素

','-

'*10)

dd = df.fillna(method='

bfill

',axis = 1)

print

(dd)

print('

-'*10,'

按列的平均值進行填充

','-

'*10)

for i in df.columns:#

df.index就是按照行求平均值

缺失值處理

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

缺失值處理

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

缺失值處理

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