Python에서 두 배열 비교
-
numpy.array_equal()
메소드를 사용하여 Python에서 두 배열 비교 -
numpy.allclose()
메서드를 사용하여 Python에서 두 배열 비교 -
numpy.array_equiv()
메소드를 사용하여 Python에서 두 배열 비교 -
==
연산자 및numpy.all()
메서드를 사용하여 Python에서 두 배열 비교
이 튜토리얼에서는 Python에서 두 배열을 비교하고 동일한 지 여부를 확인하는 다양한 방법을 살펴 봅니다. 두 배열은 차원과 값이 동일한 경우에만 동일합니다. 두 배열의 값이 같지만 순서가 같지 않으면 배열이 동일한 것으로 간주되지 않습니다.
다음 방법을 사용하여 두 배열이 Python에서 동일한 지 여부를 확인할 수 있습니다.
numpy.array_equal()
메소드를 사용하여 Python에서 두 배열 비교
numpy.array_equal(a1, a2, equal_nan=False)
는 두 개의 배열a1
및a2
를 입력으로 취하고 두 배열의 모양과 요소가 동일한 경우True
를 리턴하고 그렇지 않으면 메소드가False
를 리턴합니다. equal_nan=
키워드 인수의 기본값은False
이며 메소드가 두 개의NaN
값을 동일하게 간주하도록하려면True
로 설정해야합니다.
아래 예제 코드는numpy.array_equal()
메소드를 사용하여 Python에서 두 배열을 비교하는 방법을 보여줍니다.
import numpy as np
a1 = np.array([1, 2, 4, 6, 7])
a2 = np.array([1, 3, 4, 5, 7])
print(np.array_equal(a1, a1))
print(np.array_equal(a1, a2))
출력:
True
False
numpy.allclose()
메서드를 사용하여 Python에서 두 배열 비교
numpy.allclose(a1, a2, rtol=1e-05, atol=1e-08, equal_nan=False)
메서드는 배열a1
및a2
를 입력으로 취하고의 각 요소가
True를 반환합니다. a1
은a2
의 해당 요소와 같거나 그 차이가 공차 값 내에 있습니다.
허용 오차 값은a2
,rtol
및atol
인수를 사용하여 계산됩니다.
atol + rtol * absolute(a2)
numpy.allclose()
메소드는 최종 배열이 예상 배열과 같은지 여부를 확인하려는 계산에 유용합니다. numpy.allclose()
메소드를 사용하여 다음과 같은 방식으로 Python에서 두 배열을 비교할 수 있습니다.
import numpy as np
a1 = np.array([1, 2, 4, 6, 7])
a2 = np.array([1, 3, 4, 5, 7])
a3 = np.array([1, 3, 4.00001, 5, 7])
print(np.allclose(a1, a2))
print(np.allclose(a3, a2))
출력:
False
True
위의 예제 코드에서 볼 수 있듯이 두 값 사이의0.00001
차이는 기본적으로 무시됩니다. atol
및rtol
의 값을 변경하여 공차 값을 늘릴 수 있습니다.
numpy.array_equiv()
메소드를 사용하여 Python에서 두 배열 비교
numpy.array_equiv(a1, a2)
메소드는 배열a1
및a2
를 입력으로 취하고 두 배열의 모양과 요소가 동일하면True
를 리턴합니다. 그렇지 않으면False
를 반환합니다.
두 배열을numpy.array_equiv()
메소드에 전달하여 Python에서 비교할 수 있습니다. 아래 예제 코드는numpy.array_equal()
메소드를 사용하여 두 배열이 Python에서 동일한 지 확인하는 방법을 보여줍니다.
import numpy as np
a1 = np.array([1, 2, 4, 6, 7])
a2 = np.array([1, 3, 4, 5, 7])
a3 = np.array([1, 3, 4.00001, 5, 7])
print(np.array_equiv(a1, a2))
print(np.array_equiv(a3, a2))
출력:
False
False
==
연산자 및numpy.all()
메서드를 사용하여 Python에서 두 배열 비교
==
연산자를 배열과 함께 사용하면 두 배열에 해당하는 모양의 배열을 반환합니다. 반환 된 배열은 두 배열의 요소가 해당 인덱스에서 같으면 인덱스에True
를 포함하고 그렇지 않으면 배열이됩니다. 해당 색인에False
를 포함합니다.
각 요소 대신 두 배열을 비교하고 싶으므로==
연산자와 함께numpy.all()
메서드를 사용할 수 있습니다. numpy.all()
메소드는 주어진 축에있는 모든 입력 배열 요소가True
이면True
를 반환합니다. 그렇지 않으면False
를 반환합니다.
1
인 경우True
를 반환합니다. 또한 두 배열의 모양이 동일하지 않으면 오류가 발생합니다. 그렇기 때문에 위에서 언급 한 방법을 선호해야합니다.아래 예제 코드는==
연산자와numpy.all()
메서드를 사용하여 Python에서 두 배열을 비교하는 방법을 보여줍니다.
import numpy as np
a1 = np.array([1, 2, 4, 6, 7])
a2 = np.array([1, 3, 4, 5, 7])
a3 = np.array([1, 3, 4.00001, 5, 7])
print((a1 == a2).all())
print((a3 == a2).all())
출력:
False
False