你可以试试:ii = 0; wrk_arr = your_arr
idx = numpy.arange(0,len(wrk_arr))
while ii<=len(wrk_arr)-1:
i_list = numpy.arange(0,len(wrk_arr)
candidate = numpy.matrix(wrk_arr[ii,:])
i_dup = numpy.array([0] * len(wrk_arr))
numpy.all(candidate == wrk_arr,axis=1, iout = idup)
idup[ii]=0
i_list = numpy.unique(i_list * (1-idup))
idx = numpy.unique(idx * (1-idup))
wrk_arr = wrk_arr[i_list,:]
ii += 1
结果是wrk_arr,它是您的_arr的唯一排序数组。关系是:
^{pr2}$
它的工作原理类似于MATLAB,因为返回的数组(wrk_arr)保持原始数组(your_arr)的顺序。idx数组与MATLAB不同,因为它包含第一次出现的索引,而MATLAB返回最后一次出现的索引。在
根据我的经验,它在10000×4矩阵上的运行速度和MATLAB一样快。在
一个转置就可以解决这个问题了。在