-
Pandas 누락값 처리 - Handling Missing Values IN Python데이터 분석/Pandas 2020. 8. 8. 08:31
누락 값 처리하는 4가지 스킬
누락을 발견하고, 누락 규모 파악하고, 누락값을 채우거나 버리는 작업이 필요하다.
Discovering missing values : isnull(), notnull()
Counting missing values : isnull().sum()
Filling in for missing values : fillna(), interpolate()
Filtering out missing values : dropna()
How to Identify and Drop Null Values | Handling Missing Values in Python
이 영상은 누락 값을 파악하고, 필터링하는 방법을 서술한 영상이다.
인도분이라 발음이 조금 힘들 수는 있지만 듣다보면 익숙해질 정도이고, 설명 자체는 너무 명확한 강의였다 :D
https://www.youtube.com/watch?v=57vFbsiZYHg
1. 데이터에 Null 이 어떻게 있는지 확인하자.
import pandas as pd orders = pd.read_excel('C:/Users/alicia/Desktop/Sample - Superstore Sales.xls', 0) orders.isnull().sum() orders[orders['Product Base Margin'].isnull()]
orders DataFrame 의 각 셀 (한 개의 값, 행/열 intersection) 단위로 null 여부 true/false 값을 확인하고,
sum 하면 true 1 / false 0 기준으로 모든 행에 대해서 값을 더한다.
sum 결과가 0 이면 누락된 데이터가 없는 것 / 0이 아니면 누락 데이터가 있는 것이다.위 데이터에서는 'Product Base Margin' 열에서 Null 이 발견되었다. 특정 열이 Null value 가 있다면 이렇게 확인해보자.
2. Null Value 가 있는 행을 날려버리자!
orders.shape orders.dropna(how='any').shape orders.dropna(how='all').shape orders.dropna(subset=['Customer Name', 'Province'], how='all').shape orders.dropna(how='any', thresh=1).shape
- how: any 행 내에 어떤 값이라도 / all 행 내 모든 값이 null 일 경우 행을 날리자.
- subset/how: subset 특정 칼럼 기준으로 any 행내 어떤 값이라도 / all 행 네 모든 값에 대해 null 일 경우 행을 날리자.
- thresh/how: 전체 컬럼값 중 1개 이상의 행에 대해 null 일 경우 행을 날리자.참고. 영상 중에 요렇게 dropna() 메소드를 찍어놓고, 사용가능한 옵션들을 살펴보는 습관을 들이자 :)
How to Fill Up NA Values | Various ways to fill missing values in python
동일한 분의 누락값에 대해 적당한 값으로 채워넣는 영상!
https://www.youtube.com/watch?v=ktQOTU7hxCo
null_values = pd.Series([1, np.NaN, 2, np.NaN, 3,4, np.NaN, np.NaN, 8]) null_values.fillna(method='ffill') null_values.fillna(method='ffill', limit=1) null_values.fillna(0) null_values.fillna(np.mean(null_values)) null_values.interpolate()
Q. interpolate? statistical term!
how the values are distributed based on trend and interval
요렇게 NaN 을 중간 값으로 채울수 있다. :ㅇ
'데이터 분석 > Pandas' 카테고리의 다른 글
Pandas 병합과 조인 연산 (파이썬 데이터 사이언스 핸드북 예시) (0) 2020.08.20 Pandas 데이터 세트 결합하기: 병합과 조인 (0) 2020.08.13 Pandas 데이터 연산하기 (NULL 처리 포함) (1) 2020.06.27 데이터 인덱싱과 선택 - DataFrame (0) 2020.06.15 데이터 인덱싱과 선택 - Series (0) 2020.06.13