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