NumPy教程-numpy.unique()在Python中的使用
Python的numpy模块提供了一个用于在numpy数组中查找唯一元素的函数。numpy.unique()函数用于查找数组的唯一元素,并将这些唯一元素返回为一个排序过的数组。除了唯一元素外,还有一些可选的输出,如下所示:
输出可以是给定输入数组中唯一值的索引。
输出可以是重构输入数组的唯一数组的索引。
输出可以是输入数组中每个唯一值出现的次数的数组。
语法
numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None)
参数
👉点击领取:最全Python资料合集
返回值
示例1:
import numpy as npa=np.unique([1,2,3,4,3,6,2,4])a
输出:
array([1, 2, 3, 4, 6])
在上面的代码中
我们使用别名np导入了numpy。
我们声明了变量'a'并赋值为np.unique()函数的返回值。
我们在函数中传递了一些元素的数量。
最后,我们尝试打印变量'a'的值。
示例2:
a=np.array([[1,2,2,3,9],[1,4,3,5,8]])ab=np.unique(a)b
输出:
array([[1, 2, 2, 3, 9],[1, 4, 3, 5, 8]])array([1, 2, 3, 4, 5, 8, 9])
示例3:
import numpy as npa = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]])ab=np.unique(a, axis=0)b
输出:
array([[1, 1, 0],[1, 1, 0],[2, 3, 4],[5, 9, 8],[2, 3, 4]])array([[1, 1, 0],[2, 3, 4],[5, 9, 8]])
在上面的代码中
我们使用别名np导入了numpy。
我们创建了一个多维数组'a'。
我们声明了变量'b'并赋值为np.unique()函数的返回值。
我们在函数中传递了多维数组'a'和轴0。
最后,我们尝试打印变量'b'的值。
示例4:
import numpy as npa = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]])ab = np.unique(a, axis=1)b
输出:
array([[1, 1, 0],[1, 1, 0],[2, 2, 4],[5, 5, 8],[2, 2, 4]])array([[0, 1],[0, 1],[4, 2],[8, 5],[4, 2]])
注意:当我们将轴设置为1时,此函数将从源数组返回唯一的列。
示例5:使用return_index
import numpy as npa = np.array(['d', 'b', 'b', 'z', 'a'])result, indices=np.unique(a,return_index=True)resultindicesa[indices]
输出:
array(['a', 'b', 'd', 'z'], dtype='|S1')array([4, 1, 0, 3], dtype=int64)array(['a', 'b', 'd', 'z'], dtype='|S1')
在上面的代码中
我们使用别名np导入了numpy。
我们创建了一个数组'a'。
我们声明了变量'result'和'indices',并赋值为np.unique()函数的返回值。
我们在函数中传递了数组'a',并将return_index设置为True。
最后,我们尝试打印变量'result'、'indices'以及数组元素,这些元素表示索引('a [indices]')。
示例6:使用return_inverse
我们可以通过以下方式从唯一值重构输入数组:
import numpy as npa = np.array([1, 2, 6, 4, 5, 3, 2])result, indices=np.unique(a,return_inverse=True)resultindicesa[indices]
输出:
array([1, 2, 3, 4, 5, 6])array([0, 1, 5, 3, 4, 2, 1], dtype=int64)array([1, 2, 3, 4, 5, 6, 2])
热门推荐