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 # 创建一维数组 a = np.array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9]) print('第一个数组:') print(a) print(' ') # 获取数组中的唯一值 print('第一个数组的唯一值:') u = np.unique(a) print(u) print(' ')
输出
第一个数组: [5 2 6 2 7 5 6 8 2 9] 第一个数组的唯一值: [2 5 6 7 8 9]
示例 2
在此示例中,我们借助 unique() 函数获取唯一值及其索引 -
import numpy as np # 创建一维数组 a = np.array([5, 2, 6, 2, 1, 7, 5, 6, 8, 2, 9]) print('第一个数组:') print(a) print(' ') # 获取原始数组中的唯一值及其索引 print('唯一数组和索引数组:') u, indices = np.unique(a, return_index=True) print(indices) print(' ') print('我们可以看到每个数字都对应原始数组中的索引:') print(a) print(' ')
输出
第一个数组: [5 2 6 2 1 7 5 6 8 2 9] 唯一数组和索引数组: [ 4 1 0 2 5 8 10] 我们可以看到每个数字都对应原始数组中的索引: [5 2 6 2 1 7 5 6 8 2 9]
示例 3
以下是使用唯一元素及其索引重建原始数组的示例 -
import numpy as np # 创建一维数组 a = np.array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9]) print('第一个数组:') print(a) print(' ') # 获取唯一值和索引以重建原始数组 print('唯一数组的索引:') u, indices = np.unique(a, return_inverse=True) print(u) print(' ') print('索引为:') print(indices) print(' ') print('使用索引重建原始数组:') print(u[indices]) print(' ') # 获取唯一值的计数 print('返回唯一元素的重复次数:') u, indices = np.unique(a, return_counts=True) print(u) print(indices)
输出
第一个数组: [5 2 6 2 7 5 6 8 2 9] 唯一数组的索引: [2 5 6 7 8 9] 索引为: [1 0 2 0 3 1 2 4 0 5] 使用索引重建原始数组: [5 2 6 2 7 5 6 8 2 9] 返回唯一元素的重复次数: [2 5 6 7 8 9] [3 2 2 1 1 1]