본문 바로가기

프로그래밍 언어/Python

[Python] 판다스 Nan 처리법: isna(), dropna(), fillna(), notna()

반응형

- NaN: Not a Number 라는 뜻. 없는 값

 

판다스 데이터프레임 변수명.isna()

- NaN이 얼마나 있는지 파악하는 용도

- 데이터가 없을 경우 True

- 대게는 뒤에 .sum()함수까지 같이 이용해서 총 몇개의 없는 값을 계산해낸다.

ㄴ 컴퓨너는 True를 1, False를 0으로 인식하기 때문에 가능.

 

 

.sum()의 파라미터를 기입하지 않으면, 디폴트 axis  =0으로 설정된다. 

- 콜롬별로, 행으로 하나하나 내려가면서 계산하기 때문에 axis = 0

 

판다스 데이터프레임 변수명.notna()

- ‘비어있지 않니?’= ‘데이터가 있니’로 물어보는 것

- 데이터가 있는 값만 True

 

- NaN 처리방법

 

1. 삭제하는 전략

ㄴ 비어있는 것을 없애라: 판다스 데이터프레임 변수명.dropna()

ㄴ 비어있는 해당 행을 다 없앤다.

 

2. 특정값으로 채우는 전략: 판다스 데이터프레임 변수명.fillna()

 

- ex) 셔츠 컬럼의 NaN만 0으로 셋팅

 

3. NaN을  주변 데이터와 같이 설정: 

ㄴ 위의 행의 데이터와 같이 설정: 판다스 데이터프레임 변수명.fillna(method = 'ffill',axis = 1)

ㄴ f = forward, fill

ㄴ 뒤에는 b = backward

 

- 평균값 계산으로 채워넣기: 판다스 데이터프레임 변수명.fillna(df.mean())

numeric_only: 문자열은 빼고, 숫자컬럼만 계산하라는 뜻

 

반응형