Python numpy.unique() 函数

Suraj Joshi 2023年1月30日
  1. numpy.unique() 语法
  2. 示例代码:numpy.unique() 方法
  3. 示例代码在 numpy.unique() 方法中设置 return_index=True
  4. 示例代码在 numpy.unique() 方法中设置 return_counts=True
  5. 示例代码: 在 numpy.unique() 方法中设置 return_inverse=True
  6. 示例代码:在 numpy.unique() 方法中设置 axis 参数
Python numpy.unique() 函数

Python Numpy numpy.unique() 函数检索给定 NumPy 数组中的所有唯一值,并对这些唯一值进行排序。

numpy.unique() 语法

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

参数

ar 可转换为数组的数组或对象
return_index 布尔型。如果为 True,返回每个唯一值的第一次出现的索引数组。
return_inverse 布尔型。如果为 True,返回唯一数组的索引,用于重建输入数组。
return_counts 布尔型。如果为 True,则返回一个数组,其中包含每个唯一值的计数。
axis 查找唯一的行(axis=0)或列(axis=1)。默认情况下,唯一的元素是从扁平化的数组中提取的。

返回值

它返回数组的排序后的唯一值。

如果 return_index=True,它返回每个唯一值第一次出现的索引数组。

如果 return_counts=True,返回输入数组中每个唯一值的计数数组。

如果 return_inverse=True,它返回唯一数组的索引,它可以用来重建输入数组。

示例代码:numpy.unique() 方法

import numpy as np

a=np.array([[2,3,4],
            [5,4,7],
           [4,2,3]])

unique_array=np.unique(a)

print(unique_array)

输出:

[2 3 4 5 7]

它返回扁平化输入数组的排序后的唯一值。

扁平化数组的意思是将所有的行逐一展开,将给定数组转换为一维数组。

示例代码在 numpy.unique() 方法中设置 return_index=True

import numpy as np

a=np.array([[2,3,4],
            [5,4,7],
           [4,2,3]])

unique_array=np.unique(a,return_index=True)

print(unique_array)

输出:

(array([2, 3, 4, 5, 7]), array([0, 1, 2, 3, 5]))

它给出了一个由给定的扁平化输入数组中的排序唯一值组成的元组,以及每个唯一值首次出现的索引数组。

示例代码在 numpy.unique() 方法中设置 return_counts=True

import numpy as np

a=np.array([[2,3,4],
            [5,4,7],
           [4,2,3]])

unique_array=np.unique(a,return_counts=True)

print(unique_array)

输出:

(array([2, 3, 4, 5, 7]), array([2, 2, 3, 1, 1]))

它给出了一个由给定的扁平化输入数组中的排序唯一值组成的元组以及输入数组中每个唯一值的计数数组。

示例代码: 在 numpy.unique() 方法中设置 return_inverse=True

import numpy as np

a=np.array([[2,3,4],
            [5,4,7],
           [4,2,3]])

unique_array=np.unique(a,return_inverse=True)

print(unique_array)

输出:

(array([2, 3, 4, 5, 7]), array([0, 1, 2, 3, 2, 4, 2, 0, 1]))

它给出了一个由给定的扁平化输入数组中的排序唯一值数组和一个唯一数组的索引数组组成的元组。

这里,2 出现在扁平化数组的第一个位置和倒数第二个位置。同样,我们可以找到哪个值出现在哪个位置。

示例代码:在 numpy.unique() 方法中设置 axis 参数

查找唯一行

import numpy as np

a=np.array([[2,3,2],
            [2,3,2],
           [4,2,3]])

unique_array=np.unique(a,axis=0)

print(unique_array)

输出:

[[2 3 2]
 [4 2 3]]

它给出了输入数组中所有唯一的行。

查找唯一列

import numpy as np

a=np.array([[2,3,2],
            [2,3,2],
           [3,2,3]])

unique_array=np.unique(a,axis=1)

print(unique_array)

输出:

[[2 3]
 [2 3]
 [3 2]]

它给出了输入数组中所有唯一的列。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn