Back

np.unique()解读

np.unique()官方文档分析以及举例

1.1 官方文档及解读

numpy.unique

image 语法numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)
作用:找到array中不重复(独一无二)的元素
返回值:默认返回不重复元素的sorted排好序的从小到大的数组。可选的返回值有:

  • 输入数组提供不重复值(unique)元素的索引下标(如果有多个返回第一个)
  • 利用unique数组重构原有的input数组所需要的的索引下标
  • 该unique元素在input数组中的出现次数,相当于count

image Parameter

  • ar:array like
    输入的数组,除非特别指定axis,数组将被展平为1-D形式进行处理。

  • return_index: bool, optional
    如果为True,返回输入数组提供不重复值(unique)元素的索引下标(如果有多个返回第一个)

  • return_inverse: bool, optional
    如果为True,返回利用unique数组重构原有的input数组所需要的的索引下标

  • axis: int or None, optional
    进行操作的维度。如果为None,数组将被展平作为一维数组处理,如果指定了axis,则以该维索引构成的子数组作为元素,将整个数组视为一维数组进行处理。如果axis被使用,则不支持Object Array以及structured arrays

image Returns

  • unique: ndarray
    排好序(从小到大)的unique值

  • unique_indices: ndarray, optional
    unique数组中对应位置的value值第一次在input数组中出现的下标值。当return_index = True时返回。

  • unique_inverse: ndarray, optional
    利用unique数组重构源输入input数组所需要的索引下标。当return_inverse = True的时候返回。

  • unique_count: ndarray, optional 每个unique values在原数组中出现的次数,当return_counts=True时返回。

image NOTE

当axis被指定时,subarrays按照指定轴的维度索引。该操作通过将specified axis挪到数组的第一维,然后再将subarrays展开。被展平的subarrays被视为一个结构化类型,我们就可以把以这个结构化类型将原数组视为一个1维数组。结果排序是按结构化元素的第一个元素(类似字典序)排列的。

1.2 Examples

image

补一个return_counts:

    >>> a = np.array([1,1,2,2,2,3,8,5,4])
    >>> x,x2 = np.unique(a,return_counts = True)
    x: [1,2,3,4,5,8]
    x2:[2,3,1,1,1,1,dtype=int64]

image

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy