NumPy Array Equal

Muhammad Maisam Abbas 30 Январь 2023 4 Июль 2021
  1. Проверка равенства массивов NumPy с помощью оператора == в Python
  2. Проверка равенства массивов NumPy с помощью функции numpy.array_equal()
  3. Проверка равенства массивов NumPy с помощью функции numpy.array_equiv() в Python
  4. NumPy равно функции numpy.allcloses() в Python
NumPy Array Equal

В этой статье будут представлены методы для выполнения поэлементного сравнения на равенство массивов NumPy в Python.

Проверка равенства массивов NumPy с помощью оператора == в Python

Оператор сравнения равенства == используется для проверки равенства двух величин. Оператор == возвращает True, если количества равны, и False, если количества не равны. Мы можем использовать оператор == вместе с функцией all(), чтобы проверить, все ли элементы двух массивов равны или нет. В следующем примере кода показано, как можно поэлементно сравнить два массива на равенство с оператором == в Python.

import numpy as np

array1 = np.array([1,2,3,4,5])

array2 = np.array([1,2,3,4,5])
print((array1 == array2).all())

Выход:

True

В приведенном выше коде мы поэлементно сравнивали массивы array1 и array2 на равенство с оператором == и функцией all(). Сначала мы создали массивы array1 и array2 с помощью функции np.array(). Затем мы использовали оператор == с функцией all(), чтобы проверить, все ли значения внутри array1 равны значениям внутри array2. Этот подход очень эффективен и прост для понимания, но у его использования есть несколько недостатков. Например, если какой-либо из массивов пуст, а второй массив содержит только один элемент, этот подход вернет значение True. Другая проблема заключается в том, что если оба массива имеют разные формы, такой подход приведет к ошибке.

Проверка равенства массивов NumPy с помощью функции numpy.array_equal()

Более тщательный и безошибочный способ достижения той же цели, что и предыдущий подход, - использовать функцию numpy.array_equal(). Функция numpy.array_equal() сравнивает два массива на равенство. Функция numpy.array_equal() возвращает True, если массивы равны, и False, если массивы не равны. В следующем примере кода показано, как можно поэлементно сравнить два массива на равенство с функцией numpy.array_equal().

import numpy as np

array1 = np.array([1,2,3,4,5])

array2 = np.array([1,2,3,4,5])
print(np.array_equal(array1,array2))

Выход:

True

В приведенном выше коде мы использовали функцию np.array_equal(), чтобы проверить, все ли значения внутри array1 равны значениям внутри array2.

Проверка равенства массивов NumPy с помощью функции numpy.array_equiv() в Python

Функция numpy.array_equiv() также может использоваться для проверки равенства двух массивов в Python. Функция numpy.array_equiv() возвращает True, если оба массива имеют одинаковую форму и все элементы равны, и возвращает False в противном случае.

import numpy as np

array1 = np.array([1,2,3,4,5])

array2 = np.array([0,2,3,4,5])
print(np.array_equiv(array1,array2))

Выход:

False

В приведенном выше коде мы использовали функцию np.array_equiv(), чтобы проверить, равно ли array1 array2.

NumPy равно функции numpy.allcloses() в Python

Функцию numpy.allclose() также можно использовать для проверки, равны ли два массива поэлементно в Python. Функция numpy.allclose() возвращает True, если все элементы внутри обоих массивов равны в пределах указанного допуска.

import numpy as np

array1 = np.array([1,2,3,4,5])

array2 = np.array([1,2,3,4,5])
print(np.allclose(array1,array2))

Выход:

False

В приведенном выше коде мы использовали функцию np.allclose(), чтобы проверить, равно ли array1 array2.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn