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

  • Post category:Python

要用NumPy获得数组的唯一元素,可以使用numpy.unique()函数。以下是完整的攻略:

使用numpy.unique()函数

numpy.unique()函数可以返回一个由数组中的唯一元素组成的新数组。可以利用该函数来获取某个数组中的唯一元素。

语法

numpy.unique(arr, return_index=False, return_inverse=False, return_counts=False, axis=None)

参数说明:

  • arr: 输入的数组。
  • return_index: 如果为True,将返回输入数组中唯一元素的索引。
  • return_inverse: 如果为True,将返回输入数组的逆映射,即输入数组中唯一元素在输出数组中的索引。
  • return_counts: 如果为True,则还将返回每个唯一元素在输入数组中出现的次数。
  • axis: 沿着哪个轴进行操作,默认值为None。如果指定了axis,则返回的唯一元素是沿着该轴的。

示例

下面我们来看两个具体的示例说明。

示例 1

假设有如下数组:

import numpy as np

arr = np.array([1, 2, 3, 1, 2, 5, 6, 5])

想要获取该数组中的唯一元素,可以使用如下代码:

unique_arr = np.unique(arr)

print(unique_arr)

运行结果为:

[1 2 3 5 6]

通过numpy.unique()函数,我们成功地获取了该数组中的唯一元素。

示例 2

假设有如下二维数组:

import numpy as np

arr = np.array([[1, 2], [3, 1], [2, 5], [6, 5]])

想要获取该数组中每个行向量的唯一元素,可以使用如下代码:

unique_rows = np.unique(arr, axis=0)

print(unique_rows)

运行结果为:

[[1 2]
 [2 5]
 [3 1]
 [6 5]]

通过numpy.unique()函数,我们成功地获取了该二维数组中每个行向量的唯一元素。

总结

通过使用numpy.unique()函数,我们可以很方便地获取数组中的唯一元素。该函数支持返回唯一元素、唯一元素的索引、唯一元素的逆映射和唯一元素在输入数组中出现的次数等信息。可以根据需要灵活使用该函数。