如何用NumPy获得数组的唯一元素

  • Post category:Python

获取数组的唯一元素可以使用NumPy库中的unique()函数来实现。

函数参数说明

unique()函数的参数说明如下:

  • arr: 要处理的数组

  • return_index: 如果为True,则返回新列表中每个元素在旧列表中的下标;这个返回的下标列表是唯一的,从小到大排序

  • return_inverse: 如果为True,则返回旧列表中的每个元素在新列表中的下标;这个返回的下标列表是唯一的,从小到大排序

  • return_counts: 如果为True,则返回升序排序的旧列表中每个元素在新列表中出现的次数

示例1

import numpy as np
arr = np.array([1, 2, 2, 3, 4, 4, 4])
unique_arr = np.unique(arr)
print(unique_arr) # 输出[1 2 3 4]

上面的代码中,我们首先导入了NumPy库,并创建了一个包含重复元素的数组arr。我们然后使用NumPy的unique()函数获取数组arr的唯一元素,并将其赋值给了变量unique_arr。最后,我们打印了唯一元素的数组unique_arr,输出结果为[1 2 3 4]。

示例2

import numpy as np
arr = np.array([["A", "B", "C"], ["D", "E", "F"], ["A", "B", "C"]])
unique_arr, index_arr = np.unique(arr, return_index=True)
print(unique_arr) # 输出["A" "B" "C" "D" "E" "F"]
print(index_arr) # 输出[0 1 2 3 4 5]

上面的代码中,我们创建了一个包含重复元素的二维数组arr。然后,我们调用了NumPy的unique()函数,并将参数return_index设置为True,这样函数会返回新数组unique_arr中每个元素在旧数组arr中的下标。我们将这些下标存储在变量index_arr中。最后,我们分别打印了唯一元素的数组和下标列表,输出结果分别为[“A” “B” “C” “D” “E” “F”]和[0 1 2 3 4 5]。