np.unique 的实现

1. 简单实现

import numpy as np

def unique(ar):
    perm = ar.argsort()
    aux = ar[perm]
    flag = np.concatenate(([True], aux[1:] != aux[:-1]))
    return aux[flag]

if __name__ == '__main__':
    ar = np.random.randint(1, 5, 10)
    print(ar)
    print(unique(ar))

2. 说明如下

import numpy as np

def unique(ar):
    perm = ar.argsort()                        # 排序,perm 一次全排列
    aux = ar[perm]                             # aux 表示排序后的数组
    flag = np.concatenate(([True], aux[1:] != aux[:-1])) 
                           # ar 中元素值不相同的个数及其对应的位置
    return aux[flag]
原文地址:https://www.cnblogs.com/mtcnn/p/9421055.html