【发布时间】:2021-12-09 19:37:35
【问题描述】:
我有 2 个数组:
arr1 = np.linspace(1, 10, 10)
arr2 = np.linspace(50, 100, 10)
那我想做:
arr1 * arr2 == arr2 * arr1
但我想得到一个 True 作为输出,而不是 Trues 的数组。
我该怎么做?
【问题讨论】:
-
尝试使用
np.all
我有 2 个数组:
arr1 = np.linspace(1, 10, 10)
arr2 = np.linspace(50, 100, 10)
那我想做:
arr1 * arr2 == arr2 * arr1
但我想得到一个 True 作为输出,而不是 Trues 的数组。
我该怎么做?
【问题讨论】:
np.all
您可以使用np.array_equal 来检查两个数组是否在所有元素中相等:
np.array_equal(arr1 * arr2, arr2 * arr1)
在这种特殊情况下,您可以使用 np.all 将布尔数组减少为单个值:
(arr1 * arr2 == arr2 * arr1).all()
或
np.all(arr1 * arr2 == arr2 * arr1)
【讨论】: