本文简要介绍 python 语言中 numpy.unique
的用法。
用法:
numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)
查找数组的唯一元素。
返回数组的排序唯一元素。除了独特的元素外,还有三个可选输出:
给出唯一值的输入数组的索引
重建输入数组的唯一数组的索引
每个唯一值在输入数组中出现的次数
- ar: array_like
输入数组。除非指定了轴,否则如果它不是一维的,它将被展平。
- return_index: 布尔型,可选
如果为 True,还返回导致唯一数组的 ar 的索引(沿着指定的轴,如果提供,或者在展平数组中)。
- return_inverse: 布尔型,可选
如果为 True,则还返回可用于重建 ar 的唯一数组的索引(对于指定的轴,如果提供)。
- return_counts: 布尔型,可选
如果为 True,还返回每个唯一项目在 ar 中出现的次数。
- axis: int 或无,可选
要操作的轴。如果没有,ar 将被展平。如果是整数,则由给定轴索引的子数组将被展平并被视为具有给定轴维度的一维数组的元素,有关更多详细信息,请参阅注释。如果使用axis kwarg,则不支持包含对象的对象数组或结构化数组。默认值为无。
- unique: ndarray
排序后的唯一值。
- unique_indices: ndarray,可选
原始数组中第一次出现的唯一值的索引。仅在 return_index 为 True 时提供。
- unique_inverse: ndarray,可选
从唯一数组重建原始数组的索引。仅在 return_inverse 为 True 时提供。
- unique_counts: ndarray,可选
每个唯一值在原始数组中出现的次数。仅在 return_counts 为 True 时提供。
参数:
返回:
注意:
当指定轴时,由轴索引的子数组被排序。这是通过使指定的轴成为数组的第一个维度(将轴移动到第一个维度以保持其他轴的顺序)然后按 C 顺序展平子数组来完成的。然后将展平的子数组视为结构化类型,每个元素都给定一个标签,其效果是我们最终得到一个结构化类型的一维数组,可以以与任何其他一维数组相同的方式处理。结果是展平的子数组从第一个元素开始按字典顺序排序。
例子:
>>> np.unique([1, 1, 2, 2, 3, 3]) array([1, 2, 3]) >>> a = np.array([[1, 1], [2, 3]]) >>> np.unique(a) array([1, 2, 3])
返回二维数组的唯一行
>>> a = np.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]]) >>> np.unique(a, axis=0) array([[1, 0, 0], [2, 3, 4]])
返回给出唯一值的原始数组的索引:
>>> a = np.array(['a', 'b', 'b', 'c', 'a']) >>> u, indices = np.unique(a, return_index=True) >>> u array(['a', 'b', 'c'], dtype='<U1') >>> indices array([0, 1, 3]) >>> a[indices] array(['a', 'b', 'c'], dtype='<U1')
从唯一值和逆重构输入数组:
>>> a = np.array([1, 2, 6, 4, 2, 3, 2]) >>> u, indices = np.unique(a, return_inverse=True) >>> u array([1, 2, 3, 4, 6]) >>> indices array([0, 1, 4, 3, 1, 2, 1]) >>> u[indices] array([1, 2, 6, 4, 2, 3, 2])
从唯一值和计数重构输入值:
>>> a = np.array([1, 2, 6, 4, 2, 3, 2]) >>> values, counts = np.unique(a, return_counts=True) >>> values array([1, 2, 3, 4, 6]) >>> counts array([1, 3, 1, 1, 1]) >>> np.repeat(values, counts) array([1, 2, 2, 2, 3, 4, 6]) # original order not preserved
相关用法
- Python numpy union1d用法及代码示例
- Python numpy unpackbits用法及代码示例
- Python numpy unravel_index用法及代码示例
- Python numpy unwrap用法及代码示例
- Python numpy ufunc.at用法及代码示例
- Python numpy ufunc.outer用法及代码示例
- Python numpy ufunc.ntypes用法及代码示例
- Python numpy ufunc.identity用法及代码示例
- Python numpy ufunc.reduce用法及代码示例
- Python numpy ufunc.nin用法及代码示例
- Python numpy ufunc.nout用法及代码示例
- Python numpy ufunc.reduceat用法及代码示例
- Python numpy ufunc.nargs用法及代码示例
- Python numpy ufunc.types用法及代码示例
- Python numpy ufunc.signature用法及代码示例
- Python numpy ufunc.accumulate用法及代码示例
- Python numpy RandomState.standard_exponential用法及代码示例
- Python numpy hamming用法及代码示例
- Python numpy legendre.legint用法及代码示例
- Python numpy chararray.ndim用法及代码示例
- Python numpy chebyshev.chebsub用法及代码示例
- Python numpy chararray.nbytes用法及代码示例
- Python numpy ma.indices用法及代码示例
- Python numpy matrix.A1用法及代码示例
- Python numpy MaskedArray.var用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.unique。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。