본문 바로가기

배우기/복습노트[Python과 분석]

[복습] Python dropna 메서드(NA를 포함한 행/컬럼 제거)

728x90
반응형

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값 제거도 가능하다.

 

 

728x90
반응형