我使用以下代码段来获取唯一数组的列表,但它以奇怪的方式重新排序列表。 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])
答案 0 :(得分:1)
根据doc of numpy.unique()
,函数“返回数组的已排序的唯一元素。”。所以订单应该始终相同。
如果您想保留原始订单,可以
_, idx = np.unique(your_array_of_views, return_index=True)
uniquecoords = a[idx]