본문 바로가기
Data_Analysis/Numpy, Pandas

[Pandas] 결측치 처리

by Classic! 2020. 7. 21.

[Pandas 결측치 처리]

- Pandas는 누락 데이터를 NaN으로 처리한다.
- NaN값은 데이터 연산에서 문제가 되므로 삭제하거나, 적절한 다른 값으로 변경할 필요가 있음.

1) 결측 조회 - isnull(), notnull()

2) 결측치 삭제 - dropna()

3) 결측 대체 - fillna()


1) 결측 조회

1-1) isna(), isnull() : NaN값 조회

import pandas as pd
import numpy as np
from numpy import nan as na

# 임의의 데이터프레인 생성
df=pd.DataFrame([[1,6.5,3],[1,na,na],[na,na,na],[na,6.5,3]])
df

 

# 값이 NaN이면 True, 아니면 False로 나타남
df.isna()
df.innull() # isna()와 같은 기능

 

 

1-2) notnull() : NaN이 아닌 값 조회

# 값이 NaN이면 False, 아니면 True
df.notnull()
df.notna() # notnull()과 같은 기능

 

2) NaN값 삭제

- how, thresh 속성으로 NaN 삭제할 때 기준을 설정

df.dropna() # 기본값은 누락값이 하나라도 있으면 삭제
df.dropna(how="all") # 모든데이터가 누락 데이터인 행만 삭제
dropna(how="any") # NaN값을 1개라도 포함하는 행은 삭제
df.dropna(thresh=2) # NaN이 아닌 값이 최소 2개 이상 나와야 삭제

 

 

3) 결측값 대체 - fillna()

df.fillna(0)	# 0으로 채우기
df.fillna(df.mean())	# 평균값으로 채우기
df.fillna(value=77)		# 77로 채우기
df.fillna(df.median())	# 중간값으로 채우기
df.fillna(method='ffill')	# 'ffill' 문자열로 채우기

 

댓글