NumPy unique() 函数



NumPy 的unique()函数用于返回数组中排序后的唯一元素。它还可以选择性地返回输入数组中给出唯一值的索引以及每个唯一值的计数。

此函数可用于从数组中删除重复项并了解元素的频率。

语法

以下是 NumPy unique()函数的语法:

numpy.unique(arr, return_index, return_inverse, return_counts)

参数

以下是 NumPy unique()函数的参数:

  • arr: 输入数组。如果不是一维数组,将被展平。
  • return_index: 如果为 True,则返回输入数组中元素的索引。
  • return_inverse: 如果为 True,则返回唯一数组的索引,可用于重建输入数组。
  • return_counts: 如果为 True,则返回唯一数组中元素在原始数组中出现的次数。

示例 1

以下是 NumPy unique()函数的示例,其中创建了一个包含给定输入数组唯一值的数组:

import numpy as np 

# Create a 1D array
a = np.array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9]) 

print('First array:') 
print(a) 
print('\n')  

# Get unique values in the array
print('Unique values of first array:') 
u = np.unique(a) 
print(u) 
print('\n')  

输出

First array:
[5 2 6 2 7 5 6 8 2 9]


Unique values of first array:
[2 5 6 7 8 9]

示例 2

在本示例中,我们使用 unique() 函数获取唯一值及其索引:

import numpy as np 

# Create a 1D array
a = np.array([5, 2, 6, 2, 1, 7, 5, 6, 8, 2, 9]) 

print('First array:') 
print(a) 
print('\n')   

# Get unique values and their indices in the original array
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')   

输出

First array:
[5 2 6 2 1 7 5 6 8 2 9]


Unique array and Indices array:
[ 4  1  0  2  5  8 10]


We can see each number corresponds to index in original array:
[5 2 6 2 1 7 5 6 8 2 9]

示例 3

以下是使用唯一元素及其索引重建原始数组的示例:

import numpy as np 

# Create a 1D array
a = np.array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9]) 

print('First array:') 
print(a) 
print('\n')  

# Get unique values and indices to reconstruct the original array
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')  

# Get counts of unique values
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]


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]
numpy_array_manipulation.htm
广告