numpy.allclose

numpy.allclose 함수는 어레이의 모든 요소의 차이가 허용 오차 (tolerance) 이내에 있다면 True,

그렇지 않다면 False를 반환합니다.


Syntax

numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)

허용 오차는 아래와 같이 결정됩니다.

Tolerance

absolute(a - b) <= (atol + rtol * absolute(b))

예제1

import numpy as np

a = [1.0, 10.0]
b = [0.9, 9.0]

print(np.isclose(a, b))
print(np.isclose(a, b, atol=0.5))
print(np.isclose(a, b, rtol=0.5))
print(np.isclose(a, b, atol=0.1, rtol=0.05))

print(np.allclose(a, b))
print(np.allclose(a, b, atol=0.5))
print(np.allclose(a, b, rtol=0.5))
print(np.allclose(a, b, atol=0.1, rtol=0.05))
[False False]
[ True False]
[ True  True]
[ True False]
False
False
True
False

위에서부터 네 줄의 출력 결과는 np.isclose 함수에 의한 반환값입니다.

np.allclose 함수는 np.isclose 함수의 반환값이 모두 True인 경우에만 True를 반환합니다.

np.isclose 함수에 대해서는 NumPy 다양한 함수들 - numpy.isclose 페이지를 참고하세요.



예제2

import numpy as np

c = [1.0, 1e-8, np.nan]
d = [1.0, 1.1-8, np.nan]

print(np.isclose(c, d))
print(np.isclose(c, d, equal_nan=True))

print(np.allclose(c, d))
print(np.allclose(c, d, equal_nan=True))
[ True False False]
[ True False  True]
False
False

예제1과 마찬가지로 모든 값이 True가 아니므로, np.allclose 함수는 False를 반환합니다.



이전글/다음글

이전글 :
다음글 :