假设你的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]])
Run Code Online (Sandbox Code Playgroud)
当然,如果您需要原始顺序中的唯一行,这实际上并不起作用.
顺便说一句,要模拟类似的东西unique(a, 'columns'),你只需转置原始数组,执行上面显示的步骤,然后转置回来.