이렇게 데이터를 봤을 때 NaN인 데이터를 확인하고 싶었다
이렇게 찍어봤을 때는 nan이 나왔다 그래서
if data[i].iloc[j,14]==nan
이런 식으로 확인하고 싶었는데 잘 되지 않아서 몇 가지 실험을 했다.
print(type(data[0].iloc[23,14]))
print(data[0].iloc[23,14] == np.nan)
print(data[0].iloc[23,14] == np.NaN)
print(data[0].iloc[23,14] == None)
print(data[0].iloc[23,14] == 0.0)
print(data[0].iloc[23,14] == float("nan"))
print(data[0].iloc[23,14] == float("NaN"))
# print(data[0].iloc[23,14] == [nan])
print(np.isnan(data[0].iloc[23,14]))
print(pd.isna(data[0].iloc[23,14]))
>> <class 'numpy.float64'>
False
False
False
False
False
False
True
True
- type은 float인데 0 은 아니고 그렇다고 float('nan')이 먹히지도 않았다
- nan은 변수처럼 읽혀서 에러가 나서 주석처리 했다
- 결국은 == 으로 판단할 수 없다고 결론났다
★np.isnan() 이나 pd.isna() 를 사용하자!!★
'개발 > Python' 카테고리의 다른 글
[Python] 파괴적 함수와 비파괴적 함수 (0) | 2023.01.03 |
---|---|
[Python] 이스케이프 문자 Escape Character (0) | 2023.01.03 |
부스트캠프 AI Tech 3기 Pre-Course [4]-3 Logging Handling / 로그, 로깅 (0) | 2021.12.08 |
부스트캠프 AI Tech 3기 Pre-Course [4]-2 File Handling / 파일 (0) | 2021.12.07 |
부스트캠프 AI Tech 3기 Pre-Course [4]-1 Exception Handling / 예외처리 (0) | 2021.12.07 |