[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' 문자열로 채우기
'Data_Analysis > Numpy, Pandas' 카테고리의 다른 글
[Pandas] 그룹연산(groupby, pivot_table) (0) | 2020.07.21 |
---|---|
[Pandas] Concat, Merge (0) | 2020.07.21 |
[Pandas] DataFrame 함수 (컬럼명 변경, 컬럼 추가/삭제/정렬) (0) | 2020.07.21 |
[Pandas] DataFrame 함수 - 데이터 조회 (0) | 2020.07.21 |
[Pandas] DataFrame 구조 확인 (0) | 2020.07.21 |
댓글