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]

numpy_array_manipulation.html