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