【Python】np.unique() 介绍与使用

您所在的位置:网站首页 Python中unique怎么用 【Python】np.unique() 介绍与使用

【Python】np.unique() 介绍与使用

2024-07-13 05:16| 来源: 网络整理| 查看: 265

简述

numpy.unique:用于去除数组中重复元素,并从小到大排序(找到唯一元素并排序)。

def unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None): ar: 这是输入的数组或类数组对象。 return_index: 如果设置为True,函数会同时返回唯一元素的索引数组,这些索引对应于原始数组中的位置。 return_inverse: 如果设置为True,函数会返回一个数组,其中包含输入数组中的元素在处理后的唯一数组中的索引。这可以用于重构原始数组。 return_counts: 如果设置为True,函数将返回一个数组,其中包含输入数组中每个唯一元素的出现次数。 axis: 用于指定在哪个轴上执行操作。如果是None,则表示在整个数组上执行操作。

函数返回一个包含唯一元素的排序数组。根据参数的设置,它可能还返回与唯一元素相关联的索引数组、原始数组元素在唯一数组中的索引数组,以及每个唯一元素的出现次数。

以下是一个简单的例子:

import numpy as np arr = np.array([2, 1, 6, 6, 4, 8, 5, 5, 6,7]) unique_values = np.unique(arr) print("Unique values:", unique_values) # 返回唯一元素的索引数组 unique_indices = np.unique(arr, return_index=True)[1] print("Indices of unique values:", unique_indices) # 返回输入数组中的元素在唯一数组中的索引数组 inverse_indices = np.unique(arr, return_inverse=True)[1] print("Inverse indices:", inverse_indices) # 返回每个唯一元素的出现次数 unique_counts = np.unique(arr, return_counts=True)[1] print("Counts of unique values:", unique_counts) # 以上如果索引是[0],则返回的是处理过后的数组 print("unique values:", np.unique(arr, return_index=True)[0]) print("unique values:", np.unique(arr, return_inverse=True)[0]) print("unique values:", np.unique(arr, return_counts=True)[0])

输出 在这里插入图片描述

最后参数axis的含义

在 numpy.unique 函数中,axis 参数用于指定在哪个轴上执行操作,但在默认情况下,该参数通常是 None,表示在整个数组上执行操作。在很多情况下,我们不需要设置 axis 参数,因为默认值已经能够满足大多数需求。 如果你的输入数组是多维的,而且你想在特定轴上找到唯一元素,那么你可以指定 axis 参数。

arr_2d = np.array([[1, 2, 3,2], [4, 2, 6,5], [1, 2, 3,1], [1, 2, 3,1]]) # 在轴 0 上找到唯一元素 unique_values_axis_0 = np.unique(arr_2d, axis=0,return_index=True)[1] print("Unique values along axis 0:\n", unique_values_axis_0) # 在轴 1 上找到唯一元素 unique_values_axis_1 = np.unique(arr_2d, axis=1,return_index=True)[1] print("Unique values along axis 1:\n", unique_values_axis_1)

输出 在这里插入图片描述 也就是如果选定axis=0,就是从第一个维度arr_2d[i] 中挑选其中最小值,并排序,最小值的排序方式是遍历 arr_2d[i]的每个值,先排第一个数字,再排第二个数字,以此类推。

选定axis=1,就是在第一个维度的第一个向量找到第二维的排序方式,也就是按照arr_2d[0][i]排序,得到的索引,用于其他的维度 arr_2d[i]。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3