关键词

详解Numpy unique()(返回数组中的唯一元素)函数的作用与使用方法

Numpy是Python中的一款强大的科学计算库,提供了许多方便快捷的数据处理工具。其中unique()函数可以帮助我们快速找到数组元素中的唯一值,并将它们返回为新的数组。本文将详细讲解Numpy unique()的作用与使用方法的完整攻略。

作用

Numpy的unique()函数用于查找数组中的唯一值。当我们需要去重或输出数据集中的唯一值时,这个函数是非常实用的。同时,通过指定其他参数,我们还可以根据不同的需求返回去重后的元素在原数组中的索引值、去重后的元素在原数组中的出现次数等信息。

使用方法

Numpy unique()函数的基本语法如下:

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

其中,参数ar为需要去重的数组,其他参数均为可选项。下面我们将逐一介绍这些可选参数。

return_index参数

当该参数设为True时,函数除了返回去重后的元素数组,还会返回去重后的元素在原数组中第一次出现的索引值。

示例代码:

import numpy as np

arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6])
unique_values, indices_list = np.unique(arr, return_index=True)
print(unique_values)       # [1 2 3 4 5 6]
print(indices_list)        # [0 1 2 5 6 8]

上述代码的输出结果中,unique_values是去重后的元素数组,indices_list则是去重后的元素在原数组中第一次出现的索引值。

return_inverse参数

当该参数设为True时,函数除了返回去重后的元素数组,还会返回一个int数组,该数组可以构造原数组。

示例代码:

import numpy as np

arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6])
unique_values, inverse_indices = np.unique(arr, return_inverse=True)
print(unique_values)       # [1 2 3 4 5 6]
print(inverse_indices)     # [0 1 2 1 0 3 4 3 5]

上述代码的输出结果中,unique_values是去重后的元素数组,inverse_indices则是由去重后元素构造出的原数组。

return_counts参数

当该参数设为True时,函数除了返回去重后的元素数组,还会返回一个int数组,该数组记录了每个去重后的元素在原数组中出现的次数。

示例代码:

import numpy as np

arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6])
unique_values, counts = np.unique(arr, return_counts=True)
print(unique_values)       # [1 2 3 4 5 6]
print(counts)              # [2 2 1 2 1 1]

上述代码的输出结果中,unique_values是去重后的元素数组,counts则是每个元素在原数组中出现的次数。

axis参数

该参数指定沿哪个轴进行操作。当数组是一个二维数组时,该参数可设为0或1。

示例代码:

import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [1, 2, 3]])
unique_values = np.unique(arr, axis=0)
print(unique_values)

上述代码的输出结果为去重后的二维数组。

实例说明

去重

import numpy as np

arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6])
unique_values = np.unique(arr)
print(unique_values)       # [1 2 3 4 5 6]

在此示例中,我们使用了Numpy unique()函数去重输入数组,函数返回了一个新的数组,其中包含了输入数组中的唯一元素。

计算唯一值及其出现次数

import numpy as np

arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6])
unique_values, counts = np.unique(arr, return_counts=True)
print(unique_values)       # [1 2 3 4 5 6]
print(counts)              # [2 2 1 2 1 1]

在此示例中,我们使用了Numpy unique()函数计算输入数组中的唯一值及其出现次数。函数返回了两个新的数组,分别是输入数组中的唯一值和各个值对应的出现次数。

本文链接:http://task.lmcjl.com/news/17061.html

展开阅读全文