numpy.isclose

numpy.isclose 함수는 어레이의 요소 단위로 두 값의 차이가 허용 오차 (tolerance) 이내에 있다면 True,

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


Syntax

numpy.isclose(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))
[False False]
[ True False]
[ True  True]
[ True False]

np.isclose(a, b)에서, 어레이의 두 값의 차이 0.1과 1.0은 디폴트 허용 오차보다 크기 때문에 [False False]를 반환합니다.

atol=0.5로 설정하면 허용 오차는 0.5 + 1e-05 * absolute(b)가 됩니다. 따라서 [True False]를 반환합니다.

rtol=0.5로 설정하면 허용 오차는 1e-08 + 0.5 * absolute(b)가 됩니다. 따라서 [True True]를 반환합니다.

atol=0.1, rtol=0.05로 설정하면 허용 오차는 0.1 + 0.05 * absolute(b)가 됩니다. 따라서 [True False]를 반환합니다.



예제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))
[ True False False]
[ True False  True]

numpy.isclose 함수는 디폴트로 두 np.nan에 대해 False를 반환합니다.

equal_nan=True로 설정하면, 두 np.nan에 대해 True를 반환합니다.



이전글/다음글

이전글 :
다음글 :