반응형
Pandas의 isna method는 어떤 값이 NaN값인지 아닌지를 체크합니다.
NaN값이라면 True, NaN값이 아니라면 False를 return합니다.
아래 예씨를 보시죠.
import numpy as np
import pandas as pd
print(pd.isna(np.nan))
-- Result
True
isna method가 NaN값을 받으니 True값을 return하는 것을 볼 수 있습니다.
마치 아래 글에 있는 numpy의 isnan과 비슷한 기능을 하죠.
https://cosmosproject.tistory.com/367
한 가지 중요한 차이가 있다면
numpy의 isnan은 parameter로서 어떤 값만을 받을 수 있으나
pandas의 isna는 단순 숫자/글자/nan값 하나 뿐 아니라 Series나 DataFrame도 parameter로서 받을 수 있습니다.
다음 예시를 보시죠.
import pandas as pd
import numpy as np
dict_test = {
'col1': [1, 2, 3, 4, 5],
'col2': ['a', 'b', np.nan, 'd', 'e'],
'col3': [np.nan, 1, 2, 3, 4]
}
df_test = pd.DataFrame(dict_test)
print(df_test)
print(pd.isna(df_test.loc[:, 'col2']))
print(pd.isna(df_test))
-- Result
col1 col2 col3
0 1 a NaN
1 2 b 1.0
2 3 NaN 2.0
3 4 d 3.0
4 5 e 4.0
0 False
1 False
2 True
3 False
4 False
Name: col2, dtype: bool
col1 col2 col3
0 False False True
1 False False False
2 False True False
3 False False False
4 False False False
pandas의 isna method에 Series와 DataFrame을 전달했더니
전달받은 Series나 DataFrame에 존재하는 모든 요소에 대해 NaN값인지 아닌지 체크하여 NaN값의 위치에는 True를 NaN값이 아닌 위치에는 False를 return해주는 것을 볼 수 있습니다.
반응형
'IT > Python' 카테고리의 다른 글
Python - 데이터 클리닝 (drop_duplicates) (0) | 2022.11.08 |
---|---|
Python - 데이터 클리닝 (empty) (0) | 2022.11.08 |
Python - 데이터 클리닝 (duplicated) (0) | 2022.11.08 |
Python - 데이터 클리닝 (dropna) (0) | 2022.11.08 |
Python Pandas DataFrame 인덱싱 (0) | 2022.11.04 |