만약 조건과 일치하지 않은 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 결측값은 표시하지 않도록 했습니다.
검색 조건과 일치하는 데이터행만 출력을 학고 있습니다.
댓글