emp.dropna(axis = 0, # 제거방향(0: 행 제거, 1: 컬럼 제거)
how = 'any', # NA 제거 방식 ↔ all
thresh, # NA수 제한
subset) # NA 체크할 대상 전달
먼저 dropna 메서드 테스트를 위한 아래와 같은 데이터프레임을 셋팅하여보자.
df_na.dropna()를 하면 모든 행이 NA를 포함하고 있으므로 아래와 같이 전체 행이 제거가 된다.
how = 'any'로 설정되어 있기 때문에 모든 컬럼을 체크하여 NA가 하나라도 포함되어 있으면 해당 행을 제거해버리기 때문이다.
how = 'all' 옵션을 주면 모든 값이 NA로 구성된 행만 제거가 된다.
subset = 'E' 옵션을 주게 되면 E 컬럼을 체크하여 E컬럼에 NA가 포함된 행을 제거한다.
여러 행도 전달이 가능하다.
D, E 컬럼 모두 NA 인 컬럼만 제거한다.
thresh 옵션을 주게 되면 위와 같이 출력이 된다.
NA가 아닌 값이 3개 이상인 행을 남기겠다는 의미이다.
즉 NA가 아닌 값 3개 미만 값이 제거가 된다.
위 옵션이 좀 헷갈리는 편이라 NA 개수 기반으로 삭제하는 것은 직접 만드는 것이 좋다.
연습문제를 풀어보자.
각 행마다 NA가 2개 이상 포함된 경우 삭제
NA가 아닌 값이 4개 이상 선택되도록 출력한다(4개 미만 제거)
또는,
이렇게 하면 열방향의 NA값 제거도 가능하다.
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[실습문제] 2024. 1. 16.(화) (3문제) (0) | 2024.01.17 |
---|---|
[복습] Python fillna (NA치환) (0) | 2024.01.16 |
[복습] Python numpy / pandas 수학통계 함수(메서드) 차이 (0) | 2024.01.16 |
[복습] Python 결측치 확인(isnan, isnull), 수정(fillna), 삭제(dropna) (0) | 2024.01.16 |
[복습] Python index / column 삭제(drop 메서드) (0) | 2024.01.16 |