myn*_*eis 7 python arrays comparison numpy
我必须比较两个 numpy 数组,无论它们的顺序如何。我曾希望 numpy.array_equiv(a, b) 能够解决问题,但不幸的是,事实并非如此。例子:
a = np.array([[3, 1], [1,2]])
b = np.array([[1, 2], [3, 1]])
print (np.array_equiv(a, b))`# return false
Run Code Online (Sandbox Code Playgroud)
有什么建议么?提前致谢
你可以使用np.array_equal(np.sort(a.flat), np.sort(b.flat))
In [56]: a = np.array([[3, 1], [1, 2]])
In [57]: b = np.array([[1, 2], [3, 1]])
In [58]: np.array_equal(np.sort(a.flat), np.sort(b.flat))
Out[58]: True
In [59]: b = np.array([[1, 2], [3, 4]])
In [60]: np.array_equal(np.sort(a.flat), np.sort(b.flat))
Out[60]: False
In [61]: b = np.array([[1, 2], [3, 3]])
In [62]: np.array_equal(np.sort(a.flat), np.sort(b.flat))
Out[62]: False
Run Code Online (Sandbox Code Playgroud)