无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

详解Numpy unique()函数/np.unique函数(返回数组中的唯一元素)函数的作用与使用方法(图文详解1)

Python Micheal 6个月前 (04-24) 87次浏览 已收录
文章目录[隐藏]
详解Numpy unique()函数/np.unique函数(返回数组中的唯一元素)函数的作用与使用方法(图文详解1)

np.unique

详解Numpy unique()函数/np.unique函数(返回数组中的唯一元素)函数的作用与使用方法(图文详解1)

详细介绍 NumPy 中的 unique() 函数及其使用方法。

unique() 函数是 NumPy 中非常有用的函数之一,它可以用来找到数组中的唯一元素,并返回这些唯一元素。下面我将为您详细讲解这个函数的作用、原理以及使用方法:

  1. 函数作用:
    • unique()函数用于返回输入数组中的唯一元素,并按元素从小到大的顺序排列。
    • 它可以用于一维数组、二维数组甚至高维数组。
    • 除了返回唯一元素外,它还可以返回唯一元素的索引,以及唯一元素在原数组中出现的次数。
  2. 函数原理:
    • unique()函数内部使用了哈希表的数据结构来实现快速查找和去重。
    • 首先遍历输入数组,将每个元素存入哈希表,由于哈希表不允许重复元素,因此自动去重。
    • 然后按照哈希表中元素的顺序返回唯一元素。
    • 同时还可以返回唯一元素在原数组中的索引,以及唯一元素出现的频次。
  3. 使用方法:
    • np.unique(arr, return_index=False, return_inverse=False, return_counts=False, axis=None)
    • arr: 输入数组
    • return_index: 是否返回唯一元素在原数组中的索引
    • return_inverse: 是否返回每个元素在唯一元素列表中的索引
    • return_counts: 是否返回每个唯一元素在原数组中出现的次数
    • axis: 指定沿着哪个轴进行唯一化操作
  4. 示例代码:
import numpy as np

# 1. 一维数组去重
arr1 = np.array([1, 2, 2, 3, 4, 4, 5])
unique_values = np.unique(arr1)
print(unique_values)  # 输出: [1 2 3 4 5]

# 2. 返回唯一元素的索引
unique_values, indices = np.unique(arr1, return_index=True)
print(unique_values)  # 输出: [1 2 3 4 5]
print(indices)  # 输出: [0 1 3 4 6]

# 3. 返回每个元素在唯一元素列表中的索引
unique_values, inverse_indices = np.unique(arr1, return_inverse=True)
print(inverse_indices)  # 输出: [0 1 1 2 3 3 4]

# 4. 返回每个唯一元素在原数组中出现的次数
unique_values, counts = np.unique(arr1, return_counts=True)
print(unique_values)  # 输出: [1 2 3 4 5]
print(counts)  # 输出: [1 2 1 2 1]

# 5. 二维数组去重
arr2 = np.array([[1, 2], [2, 3], [1, 2]])
unique_rows = np.unique(arr2, axis=0)
print(unique_rows)
# 输出:
# [[1 2]
#  [2 3]]

通过上述代码示例,您可以看到 unique() 函数的强大功能,它可以帮助您快速地对数组进行去重,并返回丰富的信息。这个函数在数据预处理、特征工程等场景下都非常有用。希望这个详细介绍对您有帮助,如果还有任何问题欢迎随时问我。

Python continue语句,流程控制语句continue,跳出循环,3大使用方式(图文详解)

详解pandas.notnull()(检测非缺失值)函数使用方法(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝