import numpy as np
import pandas as pd
# None과의 비교
print(None == None) # True
print(None == np.nan) # False
print(None == pd.NaT) # False
# NaN과의 비교
print(np.nan == np.nan) # False
print(np.nan == None) # False
print(np.nan == pd.NaT) # False
# NaT와의 비교
print(pd.NaT == pd.NaT) # False
print(pd.NaT == None) # False
print(pd.NaT == np.nan) # False
None의 경우에만 그나마 == 비교가 가능하다.
다른 경우는 그 자신을 == 처리해도 False가 나온다.
[문제는 이래도 에러가 안 난다.]
nan이나 NaT같은 값들은 특정 value를 지니는 게 아니라, 애초에 비교 자체를 상정하지 않는, 일종의 상태 label 같은 느낌이다.
꼭 np.isnan()이나 pd.isna() 같은 걸로 비교하자.
'파이썬' 카테고리의 다른 글
[pandas] 결측 column 채우기 (0) | 2024.07.29 |
---|---|
[pandas] series type이 안정적으로 잡히지 않는 케이스 (0) | 2024.04.26 |
[Pandas] Dataframe list + for문 조합 시 유의사항 (0) | 2024.04.22 |
파이썬을 인터프리터 언어라고 하지 말자 (0) | 2023.08.18 |
주차별 특정 요일 따오기 (0) | 2023.05.02 |