오늘은 파이썬 결측치 처리하는 방법을 배워보았다.
결측치란?
영어로 Missing Value라고 불린다. 데이터 값이 없다는 것을 의미한다.
1. 결측치 처리하는 방법
ㄱ. .isnull()을 통해 데이터 값이 null 값인지 아닌지 확인한다.
- .isnull()을 사용하면 불리안(True / False)로 값이 있는지 없는지 확인할 수 있다
- 값이 있으면 False라고 표기되고, 값이 없으면 True라고 표기된다
null이란? 값이 0, 없다 혹은 invalid하다는 것을 의미한다.
ㄴ. column 안에 있는 값을 다 더하면 데이터 값이 null인지 아닌지 알 수 있다.
- . sum()를 추가하여 column 안의 값을 다 더하자
- 더한 값을 null_count라는 변수에 넣어준다
3. 그래프로 시각화하여 결측치가 어디에 많은지 확인하기
- . plot()을 사용하면 그래프를 만들 수 있다
- . plot. + 탭을 누르면 다른 그래프 옵션을 볼 수 있다.
- . barh()로 horizontal 바 그래프를 그린다.
- 글씨 읽기가 불편하기 때문에 괄호 안에 figsize = (width, height)을 넣어 그래프의 사이즈를 조정할 것이다.
4. 결측치 수를 reset_index를 통해 데이터 프레임으로 만들기
- . reset_index()를 사용하면 계산한 결측치 수를 데이터 프레임으로 바꿀 수 있다.
- 변환한 값을 df_null_count 변수에 넣어준다.
4.1 컬럼명 변경하기
- df_null_count 변수에 담겨있는 컬럼(열) 이름을 '컬럼명'과 '결측치수'로 변경한다
- .columns를 사용하면 현재 컬럼명을 확인할 수 있다.
- .columns = ['컬럼명', '결측 치수']를 넣으면, 컬럼명이 순서대로 변경된다.
5. 결측치수 정렬하기
- .sort_values(by='결측치수')를 사용하여 결측치수 컬럼을 정렬할 수 있다.
- .sort_index를 사용하면 인덱스 값으로 정렬할 수 있다.
- shift + tab + tab을 통해 어떤 순으로 정렬되는지 확인한다.
- 현재 값은 오름차순(ascending=True)이기 때문에 이것을 (ascending=False)를 기입하여 내림차순으로 바꾼다.
- 그리고 정렬한 값을, df_null_count_top 변수에 넣어준다.
- 제일 높은 값 10개만 불러올 것이기 때문에 끝에 .head(10)를 추가하여 10개의 데이터만 넣어준다
6. 지점명 컬럼 불러오기
- df[' ']를 통해 지점명 컬럼을 불러올 수 있다.
- 여기서 NaN은 Not a Number의 약자로 결측치라는 의미이다.
- .tolist() 를 사용하여 df_null_count_top변수를 '컬럼명'리스트형태로 만들어 drop_columns 라는 변수에 넣어준다
- drop_columns 변수를 사용하여 해당 컬럼 정보만 데이터 프레임에서 가져오자
7. 결측치 제거하기
- .drop을 사용하여 결측치를 제거한다.
- 컬럼(열) 기준으로 제거(drop)하는 것이기 때문에 axis=1을 사용해야 한다.
- 제거한 후, 변수에 다시 대입해주어야 적용되는 것을 잊지 말자.
8. 제거 결과 확인하기
- df.info()를 사용하여 결과 확인하기
- 컬럼 수와 용량이 줄어든 것을 확인할 수 있다
오늘 공부는 여기까지.. ㅎㅎ
'Data science' 카테고리의 다른 글
아나콘다 설치 [파이썬] / jupyter notebook에 nbextension 추가 (0) | 2020.04.24 |
---|---|
데이터사이언스 입문 : [파이썬]공공데이터 로드하고 데이터 미리보기 (0) | 2020.04.22 |
파이썬 : 공공데이터 찾기 및 분석할 데이터셋 소개 (0) | 2020.04.20 |
Jupyter Notebook에서 데이터 파일 경로 설정하기 (0) | 2020.04.19 |