我有 2 个数组,如下所示:
arr1 = array([ 0.40505 , 0.571486, 0.471516, 0.641669, 0.554498, 0.356352, 0.60921 , 0.653045, 0.46785 , 0.42037 , 0.360116, 0.568134])
arr2 = array([ 0.35635245, 0.55449831, 0.40504998, 0.47151649, 0.57148564, 0.64166886, 0.36011562, 0.56813359, 0.4203698 , 0.46784994,
0.6092099 , 0.65304458])
我正在尝试使用以下np.allclose()
比较这两个数组:
assert np.allclose(arr1.sort(), arr2.sort())
但是得到FALSE
断言。我该如何比较这些。另外,我不完全了解np.allclose()
.我读到它用于这些目的,但不确定如何。
任何帮助都会很棒!
sort
方法对NP数组进行排序,它不会返回任何内容。所以,你正在比较 2 无。
print(arr1.sort() is None)
>> True
您可以在将它们输入函数之前对它们进行排序allclose
。
arr1.sort()
arr2.sort()
assert np.allclose(arr1, arr2)
这样,它应该可以工作。
ndarray.sort 不返回值。你可以改用numpy.sort:
assert np.allclose(np.sort(arr1), np.sort(arr2))