[파이썬기초] 데이터전처리 결측값 (NaN) 처리

2020. 4. 6. 15:18노트/Python : 프로그래밍

데이터 결측값 생성 

import numpy as np
import pandas as pd

df=pd.DataFrame(data=np.arange(0,15).reshape(3,5),index=['n1','n2','n3'])
df.ix[0,0]=np.nan
df.ix[2,2]=np.nan
df

 

결측값 채우기 

#NaN 결측값 -> 0으로 대체  
df.fillna(0)
df.fillna(0, inplace=True) # 기존객체를 변경

 

#NaN 결측값 -> 각 열의 평균값으로 대체 
df.fillna(df.mean())

df.fillna(method="ffill") #바로 위의 데이터값으로 채우기(보간)

 

누락된 데이터 골라내기

# 데이터프레임: 누락된 데이터 모든 행(row) 골라내기
df.dropna() #열: axis=1 / 행: axis=0 제거(default)

df.dropna(axis=1)

from numpy import nan as NA
data=pd.Series([1,NA,3.5,NA,7])
data

data.dropna() # Series: 누락된 데이터 골라내기

# 결측값 확인 
df.isnull().sum()

# 결측값 시각적으로 확인
import missingno as msno
import matplotlib.pyplot as plt
msno.matrix(df)
plt.show()