NumPy 数组相等
-
在 Python 中使用
==
运算符检查 NumPy 数组的相等性 -
使用
numpy.array_equal()
函数检查 NumPy 数组的相等性 -
使用 Python 中的
numpy.array_equiv()
函数检查 NumPy 数组的相等性 -
NumPy 等于 Python 中的
numpy.allcloses()
函数
本文将介绍在 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
在上面的代码中,我们逐元素比较了数组 array1
和 array2
与 ==
运算符和 all()
函数的相等性。我们首先使用 np.array()
函数创建了数组 array1
和 array2
。然后我们使用 ==
运算符和 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
。
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