numpy.unique() 函数
此函数返回输入数组中唯一元素的数组。 该函数能够返回由唯一值数组和关联索引数组组成的元组。 索引的性质取决于函数调用中返回参数的类型。
numpy.unique(arr, return_index, return_inverse, return_counts)
这里,
序号 | 参数 & 描述 |
---|---|
1 | arr 输入数组。 如果不是一维数组,将被展平 |
2 | return_index 如果为 True,返回输入数组中元素的索引 |
3 | return_inverse 如果为 True,返回唯一数组的索引,可用于重建输入数组 |
4 | return_counts 如果为True,则返回唯一数组中的元素在原数组中出现的次数 |
示例
import numpy as np a = np.array([5,2,6,2,7,5,6,8,2,9]) print 'First array:' print a print '\n' print 'Unique values of first array:' u = np.unique(a) print u print '\n' print 'Unique array and Indices array:' u,indices = np.unique(a, return_index = True) print indices print '\n' print 'We can see each number corresponds to index in original array:' print a print '\n' print 'Indices of unique array:' u,indices = np.unique(a,return_inverse = True) print u print '\n' print 'Indices are:' print indices print '\n' print 'Reconstruct the original array using indices:' print u[indices] print '\n' print 'Return the count of repetitions of unique elements:' u,indices = np.unique(a,return_counts = True) print u print indices
它的输出结果如下 −
First array: [5 2 6 2 7 5 6 8 2 9] Unique values of first array: [2 5 6 7 8 9] Unique array and Indices array: [1 0 2 4 7 9] We can see each number corresponds to index in original array: [5 2 6 2 7 5 6 8 2 9] Indices of unique array: [2 5 6 7 8 9] Indices are: [1 0 2 0 3 1 2 4 0 5] Reconstruct the original array using indices: [5 2 6 2 7 5 6 8 2 9] Return the count of repetitions of unique elements: [2 5 6 7 8 9] [3 2 2 1 1 1]