Python DataFrame 결측값 제거 dropna 사용 방법

만약 조건과 일치하지 않은 NaN행을 출력하고 싶지 않은 경우에는 dropna()를 사용해 출력하지 않도록 할 수 있습니다.
우선 dropna()를 사용하지 않고 where()만을 사용한 결과를 확인해보겠습니다.

where() 기본적인 사용 방법은 아래를 참조해주세요.

 

import pandas as pd 
import numpy as np 

df = pd.DataFrame({'A': [-20, -10, 0, 10, 20]
                   , 'B': [1, 2, 3, 4, 5]
                   , 'C': ['a', 'b', 'b', 'b', 'a']})

# DataFrame 샘플 데이터 
#    A B C 
# 0 -20 1 a 
# 1 -10 2 b 
# 2 0 3 b 
# 3 10 4 b 
# 4 20 5 a 

print(df.where(df['C'] == 'a'))


결과

      A    B    C
0 -20.0  1.0    a
1   NaN  NaN  NaN
2   NaN  NaN  NaN
3   NaN  NaN  NaN
4  20.0  5.0    a


검색 조건은 C컬럼 값이 a인 데이터를 찾고 있습니다.
조건과 일치하지 않는 행은 결측값 NaN으로 표시되고 있습니다.

이번에는 where()와 dropna()를 사용해 조건과 일치하는 데이터만 출력하는 샘플을 보겠습니다.

import pandas as pd 
import numpy as np 

df = pd.DataFrame({'A': [-20, -10, 0, 10, 20]
                   , 'B': [1, 2, 3, 4, 5]
                   , 'C': ['a', 'b', 'b', 'b', 'a']}) 
                   
print(df.where(df['C'] == 'a').dropna())


결과

      A    B  C
0 -20.0  1.0  a
4  20.0  5.0  a


where() 뒤에 dropna()를 사용해 NaN 결측값은 표시하지 않도록 했습니다.
검색 조건과 일치하는 데이터행만 출력을 학고 있습니다.

댓글