프로그래밍언어/파이썬[Error]
[파이썬][Error] 091. FloatingPointError - invalid float operation
about_IT
2025. 5. 31. 05:34
728x90
FloatingPointError: invalid float operation
오류는 부동소수점(float) 연산 중에 정의되지 않거나 유효하지 않은 연산이 발생했을 때 발생합니다. 예를 들어 0으로 나누기, 무한대 연산, NaN(Not a Number) 연산 등이 대표적입니다.
파이썬에서는 일반적인 부동소수점 오류는 무시되고 inf
또는 nan
으로 반환되지만, numpy
에서 오류 감지를 강화할 경우 FloatingPointError
를 명시적으로 발생시킬 수 있습니다.
● 오류 발생 예시
import numpy as np
np.seterr(all="raise")
x = np.array([1.0, 0.0])
result = x[0] / x[1]
0으로 나누기 연산을 명시적으로 감지하도록 설정했기 때문에 FloatingPointError
가 발생합니다.
FloatingPointError: divide by zero encountered in divide
● 해결 방법
- 분모가 0이 되는 상황을 사전에 방지
np.seterr()
설정을 통해 오류 감지 조절np.isfinite()
로 유효한 수치인지 검사
● 예시 코드 (검사 포함)
if x[1] != 0:
result = x[0] / x[1]
else:
result = 0.0
● 자주 하는 실수
- 0으로 나누기 연산이 가능하다고 가정
- NaN 값이 포함된 배열을 사전 필터링 없이 연산
- 부동소수점 경고를 무시하고 누적 처리
● 결론
FloatingPointError - invalid float operation
오류는 수치적으로 정의되지 않은 부동소수점 연산에서 발생합니다. 데이터를 사전에 정제하고 예외 가능성을 고려한 수치 검사를 통해 오류를 방지해야 합니다.
728x90