데이터 불러오기
누락값 살펴보기
불린 조건을 '입력된 값의 개수가 전체 행의 개수와 같지 않다'로 설정
즉, age, embarked, deck, embark_town은 누락값이 있다.
시리즈에 cond로 필터링하면 누락값이 있는 컬럼들의 입력값의 개수를 볼 수 있다.
dropna, thresh
df.dropna(axis=0 or 1, thresh=n)
축을 기준으로 n개 미만 입력되면 그 축을 삭제하겠다.
데이터프레임의 열 개수는 len(df.columns)로 구할 수 있다.
thresh가 500일땐 203개만 입력된 deck 컬럼이 삭제되었다.
(15 → 14)
thresh가 800일땐
714개가 입력된 age컬럼과
203개가 입력된 deck컬럼이 삭제되었다.
(15 → 13)
dropna, how='any'
age컬럼을 기준으로 NaN값이 있는 행을 삭제한다.
전체 891개의 행 중에서 177개의 행이 삭제되어 714개의 행만 남았다.
누락 데이터 치환1
평균값으로 채워넣기 - fillna, mean()
age 컬럼의 평균값은 29.699118이다.
데이터를 삭제하기보단 평균값으로 그 자리를 채우는 것이 좋은 결과로 이어질 수 있다.
새로운 컬럼을 생성할 때 기존 컬럼에서 fillna 메서드를 이용한다.
5번행이 age의 평균값으로 채워진 것을 확인할 수 있다.
누락 데이터 치환2
최빈값으로 채워넣기 - fillna, idxmax()
embark_town 컬럼에서 가장 많이 나온 값은 Southampton이다.
most_freq 변수에 넣고
가장 많이 나온 값을 most_freq와 바꾸면 된다.
기존의 누락값이 최빈값인 Southampton으로 바뀌었다.
누락 데이터 치환3
데이터의 특성상 서로 이웃한 데이터끼리 유사성이 높을 수 있다.
method='ffill'
fill gaps forward ↓
바로 위의 값으로 채워 넣는다.
method='bfill'
fill gaps backward ↑
바로 아랫값으로 채워 넣는다.
'Pandas > 전처리' 카테고리의 다른 글
판다스 - 데이터 표준화 (단위 환산 : kpl, mpg) (0) | 2020.06.19 |
---|---|
판다스 - 중복 데이터 처리 : duplicated, drop_duplicates (0) | 2020.06.19 |
판다스 - 누락 데이터 확인 : isnull(), count_nonzero() (0) | 2020.06.18 |
판다스 - 데이터 연결 : concat (0) | 2020.06.18 |
판다스 - 시리즈와 데이터프레임 데이터 처리 (0) | 2020.06.18 |