본문 바로가기
Python/Pandas

NaN을 처리하는 전략 - NaN 없애는 방법, Nan을 다른 값(각 컬럼의 평균등)으로 셋팅하는 방법

by healingmau 2022. 5. 6.

 

Nan을 처리하는 전략 - NaN 없애는 방법,

NaN을 다른 값(각 컬럼의 평균등)으로 셋팅하는 방법

 

NaN이란?

결측지, 결측값, 존재하지 않는(null) 값의 일종이며,

변수(variable) 등이며 값은 존재하는 것이지만,

그 시점에서 아직 정해져 있지 않은 값을 표시한다.

(출처 :  네이버 사전)

 

데이터를 수집 분석하다 보면

초기 준비 과정에서 결측지(결측값)을

먼저 처리해야 어려움이 없는데요.

 

Nan을 없애는 방법에 대해서

알아보도록 하겠습니다.

 

ex.

데이터프레임이 df 라고 할때~

 

1. 데이터프레임 카테고리컬 데이터에서

NaN이 있는지 확인하는 방법

 

df.isna().sum()

 


 

2. NaN 삭제하기

 


df = df.dropna()

a.

행(row)을 기준으로 삭제

 

df = df.dropna(axis=0, how='any')

df = df.dropna(axis=row, how='any')

df = df.dropna()

 

(따로 지정을 하지 않아도~

axis=0, how='any'는

디폴트값으로 설정되어 있음!!)

 

b.

열(column)을 기준으로 삭제

 

df = df.dropna(axis=1, how='any')

df = df.dropna(axis=column, how='any')

 


 

3. NaN 특정한 값으로 채우기

 


df.fillna()

 

a.

NaN(결측지)을 0으로 채우기

df.fillna(0)

 

b.

NaN(결측지)을 어떤 문자열로 채우기

dif.fillna( '어떤 문자열' )

 

c.

NaN(결측지) 이전의 값으로 채우기

df.fillna( method='pad' )

 

NaN(결측지) 뒤의 값으로 채우기

df.fillna( method='backfill' )

 

 NaN(결측지)의 값을 변수별 평균으로 채우기

df.fillna( df.mean() )

 


 

4. replace() 함수로 채우기

 


df.replace()

replace() 함수를 사용하여

내가 원하는 값을 다른 값으로

대응하여 바꿀수 있습니다.

 

a.

NaN(결측지) 값을 50으로 바꾸기

df.replace(np.nan, 50)

 

b.

NaN(결측지) 값을 2로 바꾸기

df.replace(np.nan, 2)

댓글