numpy独特总是一样的?

时间:2016-11-07 11:55:20

标签: python numpy

我使用以下代码段来获取唯一数组的列表,但它以奇怪的方式重新排序列表。 uniquecoords每次都必须以相同的顺序排列,还是有任何随机因素?

for c in coordiantes:
    coords.extend(c)
a = np.array(coords)
uniquecoords = np.unique(
    a.view(
        np.dtype( (np.void, a.dtype.itemsize*a.shape[1]) ))
    ).view(a.dtype).reshape(-1, a.shape[1])

1 个答案:

答案 0 :(得分:1)

根据doc of numpy.unique(),函数“返回数组的已排序的唯一元素。”。所以订单应该始终相同。

如果您想保留原始订单,可以

_, idx = np.unique(your_array_of_views, return_index=True)

uniquecoords = a[idx]