我有两个数组如下:
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()
。我读到它用于这些目的但不确定如何。
任何帮助都会非常棒!
答案 0 :(得分:3)
sort
方法对np数组进行排序,它不会返回任何内容。所以,你正在比较2无。
print(arr1.sort() is None)
>> True
您可以在将它们送入allclose
函数之前对它们进行排序。
arr1.sort()
arr2.sort()
assert np.allclose(arr1, arr2)
这样,它应该可以工作。
答案 1 :(得分:0)
ndarray.sort不返回值。 你可以改用numpy.sort:
assert np.allclose(np.sort(arr1), np.sort(arr2))