DataFrame - 누락데이터 처리하기
데이터 분석시 제공된 데이터를 살펴보면 값이 입력되어 있지 않은 경우가 종종 있다.
이런 경우를 Missing Value 가 있다고 표현한다.
✔ Missing Value를 처리하는 대표적인 전략
- 데이터가 거의 없는 Feature는 Feature 자체를 Drop 시킨다.
- 데이터가 없으면 바로 Drop
- Missing Value의 최소 갯수를 정해서 어느 이상 갯수를 넘어서면 Drop
- 최빈값, 평균값, 0 등의 값으로 비어있는 데이터를 채우기
판다스는 누락된 데이터를 모두 NaN 으로 처리한다.
또한 판다스 객체의 모든 통계함수는 누락데이터를 무시하고 연산을 진행한다.
✔ 누락데이터를 처리하는 함수들
- dropna() → NaN이 하나라도 있는 로우는 모두 삭제
- dropna(how ='all') → 모든 값이 NaN인 경우만 삭제
- dropda('how ='any') → NaN 이 하나라도 있는 로우는 모두 삭제
- fillna()
- isnull()
- notnull()
import numpy as np
import pandas as pd
from pandas import DataFrame
from numpy import nan as NA
df = DataFrame([[1,6.5,3],
[1, NA, NA],
[NA,NA, NA],
[NA, 6.7, 2]
])
df
누락데이터 삭제하기
# dropna()
# 누락데이터가 하나라도 있으면 해당 로우가 삭제된다
# 기본적으로 원본 유지한다.
removeNa = df.dropna()
removeNa
# dropna(how='all')
df.dropna(how='all')
# dropna(thresh=2)
# NaN 이 아닌 일반값이 두개 이상이면 남긴다
df.dropna(thresh=2)
# dropna(thresh=3)
# NaN이 아닌 일반값이 세개 이상이면 남긴다
df.dropna(thresh=3)
누락데이터 채우기
# fillna ()
df.fillna(df.mean()) # 평균값으로 채우기
df.fillna(value=5)
df.fillna(method = 'ffill') # 결측값을 앞 방향으로 채우기
'|Playdata_study > Python' 카테고리의 다른 글
210723_GroupBy, Pivot Tables (0) | 2021.07.24 |
---|---|
210723_Concat,Merge (0) | 2021.07.24 |
210722_Pandas (DataFrame) (0) | 2021.07.23 |
210721_Pandas(Series, Matplot) (0) | 2021.07.23 |
210720_Numpy (array, random, 인덱싱, 슬라이싱) (0) | 2021.07.20 |
댓글