반응형
결측치 처리 순서
- 데이터 프레임 준비
- 생성, 파일 읽기 등
- 데이터 프레임 결측치 확인
- isna(), isna().sum()
- 데이터 프레임 결측치 제거 1 (행 또는 열이 모두 NA인 경우)
- dropna(how='all', axis=1), dropna(how='all', axis=0)
- 데이터 프레임 결측치 제거 2 (특정 기준으로 제거)
- 예) NA 비율이 80% 이상인 컬럼, 행 등
- 데이터 프레임 결측치 대체
- fillna()
isna( ) 또는 notna( ) 함수 이용
isna() # 값이 NA이면 True, 아니면 False
notna() # 값이 NA가 아니라면 True, 맞으면 False
isna()를 이용하여 결측치 유무 확인 가능하지만, 눈에 안 들어온다.
df.isna().sum() # 행별(row별) NA 개서 확인
df.isna().sum(axis=1) # 행별(row별) NA 개서 확인
열별 (컬럼별) NA 개수 확인
데이터 프레임에 조건을 비교 -> True (조건 참)이면 값 존재, False (조건 거짓)이면 NaN
dropna( ) : NA 제거 함수
- how (NA 삭제 방법) : 'any', 'all'
- axis (적용 축) : 0(행), 1(열)
- thresh (NA가 아닌 개수) = 숫자(int)
df.dropna(how='any', thresh = 0.8, axis = 1)
df.dropna(axis=0,df.dropna(axis=0,df.dropna(axis=0,
fillna( ) : NA 값을 채움
1개를 넣으면 모든 NA를 1개의 값으로 변경
컬럼의 수만큼 주면 컬럼 별로 동작
컬럼별 평균 값으로 채움
col_mean = df_na.mean() # 컬럼별 평균값(NA 제외하고 계산됨)
df_na.fillna(col_mean)
반응형
'Data Science > Python' 카테고리의 다른 글
주피터 노트북으로 파이썬 버전 확인하기 (Check Python Version in Jupyter Notebook) (0) | 2021.02.16 |
---|---|
[Numpy] 인덱싱 슬라이싱 - 불리언 인덱싱 (0) | 2020.10.21 |
[파이썬] Numpy Array 인덱스, 범위생성, shape reshape, type (0) | 2020.10.21 |
[파이썬] 함수 정의하기, 호출하기(사용) (0) | 2020.10.21 |
[파이썬] 실수 <-> 정수 변환, 리스트/튜플 <-> 문자열 변환 (0) | 2020.10.21 |