假设您的 2D 数组以通常的 C 顺序存储(即,每一行都被计为主数组中的数组或列表;换句话说,行主顺序),或者您预先转置数组,否则,您可以做一些像...
>>> import numpy as np
>>> a = np.array([[1, 2, 3], [2, 3, 4], [1, 2, 3], [3, 4, 5]])
>>> a
array([[1, 2, 3],
[2, 3, 4],
[1, 2, 3],
[3, 4, 5]])
>>> np.array([np.array(x) for x in set(tuple(x) for x in a)]) # or "list(x) for x in set[...]"
array([[3, 4, 5],
[2, 3, 4],
[1, 2, 3]])
当然,如果您需要按原始顺序排列唯一行,则这实际上不起作用。
顺便说一下,模仿类似的东西unique(a, 'columns')
,您只需转置原始数组,执行上面所示的步骤,然后转置回来。