NumPy 数组相等

Muhammad Maisam Abbas 2023年1月30日 2021年7月4日
  1. 在 Python 中使用 == 运算符检查 NumPy 数组的相等性
  2. 使用 numpy.array_equal() 函数检查 NumPy 数组的相等性
  3. 使用 Python 中的 numpy.array_equiv() 函数检查 NumPy 数组的相等性
  4. NumPy 等于 Python 中的 numpy.allcloses() 函数
NumPy 数组相等

本文将介绍在 Python 中对 NumPy 数组进行逐元素相等比较的方法。

在 Python 中使用 == 运算符检查 NumPy 数组的相等性

== 相等比较运算符用于检查两个数量是否相等。如果数量相等,== 运算符返回 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

在上面的代码中,我们逐元素比较了数组 array1array2== 运算符和 all() 函数的相等性。我们首先使用 np.array() 函数创建了数组 array1array2。然后我们使用 == 运算符和 all() 函数来检查 array1 中的所有值是否等于 array2 中的值。这种方法非常有效且易于理解,但使用这种方法有一些缺点。例如,如果其中一个数组为空,而第二个数组仅包含一个元素,则此方法将返回 True 值。另一个问题是,如果两个数组的形状不同,这种方法会给我们带来错误。

使用 numpy.array_equal() 函数检查 NumPy 数组的相等性

实现与前一种方法相同的目标的更彻底和无错误的方法是使用 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 中的值。

使用 Python 中的 numpy.array_equiv() 函数检查 NumPy 数组的相等性

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 等于 Python 中的 numpy.allcloses() 函数

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