📜  Python| Numpy np.unique() 方法(1)

📅  最后修改于: 2023-12-03 14:46:21.710000             🧑  作者: Mango

Python | Numpy np.unique() 方法

Numpy是用于科学计算的Python库,提供了大量的数学函数和数组支持。其中,np.unique()方法在数组操作中非常常用,该方法可以返回输入数组中的唯一元素,并按照从小到大的顺序排列。

语法
numpy.unique(arr, return_index=False, return_inverse=False, 
             return_counts=False, axis=None)
参数说明
  • arr:输入的数组
  • return_index:如果为True,则还将返回输入数组中唯一元素的索引位置
  • return_inverse:如果为True,则还将返回输入数组中唯一元素的下标值,通过下标值可以恢复原数组
  • return_counts:如果为True,则还将返回输入数组中唯一元素的频率
  • axis:沿着某个轴计算唯一元素,默认为None,即将输入数组展开后计算
返回值
  • unique_arr:输入数组中的唯一元素
示例
import numpy as np

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

index_arr = np.unique(arr, return_index=True)
print(index_arr[0]) # [1 2 3 4 5]
print(index_arr[1]) # [0 1 3 4 5]

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

counts_arr = np.unique(arr, return_counts=True)
print(counts_arr[0]) # [1 2 3 4 5]
print(counts_arr[1]) # [1 2 1 1 3]

arr_2d = np.array([[1, 2, 3], [4, 5, 6], [2, 5, 8]])
unique_arr_2d = np.unique(arr_2d, axis=0)
print(unique_arr_2d) # [[1 2 3][2 5 8][4 5 6]]

如上述示例所示,np.unique()方法可以灵活应用于不同的情况下,如数组元素不重复、有重复、带索引值、带频次、二维数组等。同时,通过设定不同的参数值还可以统计数组中的有关信息,例如唯一元素的个数、下标位置等。