当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy unique方法用法及代码示例


Numpy 的 unique(~) 方法返回一个 Numpy 数组,其中包含输入数组的已排序唯一值。

参数

1. a | array-like

输入数组。

2. return_index | boolean | optional

是否返回唯一值的索引。默认情况下,return_index=False

3. return_inverse | boolean | optional

是否返回可用于重建输入数组的索引。检查下面的示例以进行说明。默认情况下,return_inverse=False

4. return_counts | boolean | optional

是否返回每个值出现的次数。默认情况下,return_counts=False

5. axis | intNone | optional

沿着其寻找唯一值的轴。

意义

0

查找唯一的行

1

查找独特的列

None

寻找独特的值

默认情况下,axis=None

返回值

包含输入值的唯一值的 Numpy 数组。您还将获得其他数组,具体取决于您是否将任何 return_ 参数标记为 True

例子

基本用法

一维案例

要查找一维数组中的所有唯一值:

a = np.array([4,5,6,5])
np.unique(a)



array([4, 5, 6])
2D案例

考虑以下二维数组:

a = np.array([[4,5],[6,5]])
a



array([[4, 5],
       [6, 5]])

要查找二维数组中的所有唯一值:

np.unique(a)



array([4, 5, 6])

获取唯一值的索引

要获取唯一值的索引:

a = np.array([4,5,6,5])
arr_unique_values, arr_index = np.unique(a, return_index=True)
print(arr_unique_values)
print(arr_index)



[4 5 6]
[0 1 2]

获取逆索引

获取逆索引:

a = np.array([4,5,6,5])
arr_unique_values, arr_inverse = np.unique(a, return_inverse=True)
print(arr_unique_values)
print(arr_inverse)



[4 5 6]
[0 1 2 1]

这里,可以使用逆来重建原始值:

arr_unique_values[arr_inverse]



array([4, 5, 6, 5])

获取计数

要获取计数,请设置 return_counts=True

a = np.array([4,5,6,5])
arr_unique_values, arr_counts = np.unique(a, return_counts=True)
print(arr_unique_values)
print(arr_counts)



[4 5 6]
[1 2 1]

在这里,我们看到值 5 在原始数组中出现了两次。

查找唯一的行

考虑以下二维数组:

a = np.array([[4,5],[6,5],[4,5]])
a



array([[4, 5],
       [6, 5],
       [4, 5]])

在这里,我们看到索引 0 和索引 2 处的行是重复的。要获取所有唯一的行:

np.unique(a, axis=0)



array([[4, 5],
       [6, 5]])

寻找独特的列

考虑以下二维数组:

a = np.array([[4,5,4],[6,8,6]])
a



array([[4, 5, 4],
       [6, 8, 6]])

在这里,我们看到索引 0 和索引 2 处的列是重复的。要获取所有唯一列:

np.unique(a, axis=1)



array([[4, 5],
       [6, 8]])

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | unique method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。