Python 对数组去重:

这篇具有很好参考价值的文章主要介绍了Python 对数组去重:。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 unique() 方法从 NumPy 数组中删除重复项

unique() 方法是 numpy 中的一个内置方法,它将一个数组作为输入并返回一个唯一的数组,即通过删除所有重复元素。为了删除重复项,我们将给定的 NumPy 数组传递给 unique() 方法,它将返回唯一数组。

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

Parameters:
arr            = The array to be passed to the function.
return_index   = If True, returns the indices of unique array
return_inverse = If True, also returns the indices of unique array
axis           = Axis 0 represents rows and axis 1 represents columns, if no axis is provided then the input array will be flattened i.e treated as a 1d array

从一维 NumPy 数组中删除重复元素

方法 :文章来源地址https://www.toymoban.com/news/detail-486918.html

  • 导入 numpy 库并创建一个 numpy 数组。
  • 将数组传递给不带轴参数的 unique() 方法。
  • 该函数将返回唯一数组。
  • 打印结果数组

    import numpy as np
    
    # Create a NumPy Aray
    data = np.array([1,2,3,4,4,5,6,7])
    
    # Pass array to the unique function
    # It will remove the duplicates.
    data = np.unique(data)
    
    print(data)

从 2D NumPy 数组中删除重复行

要从 2D NumPy 数组中删除重复行,请使用以下步骤,

  • 导入 numpy 库并创建一个 numpy 数组
  • 将数组传递给 unique() 方法 axis=0 参数
  • 该函数将返回唯一数组
  • 打印结果数组。
  • import numpy as np
    
    # create numpy arrays
    data = np.array([[1,2,3],
                     [3,2,1],
                     [7,8,9],
                     [9,8,9],
                     [7,8,9]])
    
    # Delete duplicate rows from 2D NumPy Array
    data = np.unique(data, axis=0)
    
    print(data)

 

从 2D NumPy 数组中删除重复的列

要从 2D NumPy 数组中删除重复的列,请使用以下步骤,

  • 导入 numpy 库并创建一个 numpy 数组
  • 将数组传递给 unique() 方法 axis=1 参数
  • 该函数将返回唯一数组
  • import numpy as np
    
    # create numpy arrays
    data = np.array([[1, 14, 3, 14, 14],
                     [3, 13, 1, 13, 13],
                     [7, 12, 9, 12, 12],
                     [9, 11, 9, 11, 11],
                     [7, 10, 9, 10, 10]])
    
    # Remove Duplicate columns from 2D NumPy Array
    data = np.unique(data, axis=1)
    
    print(data)

    使用 set() 方法从 NumPy 数组中删除重复项

    set() 方法是 python 中的一个内置方法,它将一个可迭代对象作为输入并返回一个仅具有不同元素的可迭代集合。(利用元组的性质)

    import numpy as np
    
    # create numpy arrays
    data = np.array([[1,2,3],
                     [3,2,1],
                     [7,8,9],
                     [9,8,9],
                     [7,8,9]])
    
    
    # Delete duplicate rows from 2D NumPy Array
    data = np.vstack(list(set(tuple(row) for row in data)))
    
    print(data)

    使用 unique() 方法和 return_index 参数

    使用 unique() 函数从二维 NumPy 数组中删除重复行

    unique() 方法是 numpy 中的一个内置方法,它将一个数组作为输入并返回一个唯一的数组,即通过删除所有重复元素。

    在这种情况下,我们需要删除给定数组的重复项,因此我们创建一个长度为原始数组中列数的随机数组,并将随机数组与给定数组相乘。结果数组将作为输入参数传递给 unique() 方法,return_index 参数为 True,因此此方法将返回唯一数组的索引。索引将为我们提供一个唯一的数组。

  • numpy.unique(arr, return_index=False, return_inverse=False, return_counts=False, axis=None) 
    
    Parameters:
    arr            = The array to be passed to the function. 
    return_index   = If True, returns the indices of unique array
    return_inverse = If True, also returns the indices of unique array
    axis           = Axis 0 represents rows and axis 1 represents columns, if no axis is provided then the input array will be flattened i.e treated as a 1d array

    方法 :

  • 导入 numpy 库并创建一个 numpy 数组
  • 创建一个长度为数组中列数的随机数组
  • 使用 np.dot() 方法将随机数组和给定数组相乘,即点积,在本例中为矩阵乘法
  • 将结果数组作为输入参数传递给 unique() 方法,return_index 参数为 True
  • 该方法将返回唯一数组的索引。
  • 索引用于打印给定数组的唯一数组
  • import numpy as np
    
    # create numpy arrays
    data = np.array([[1,2,3],
                     [3,2,1],
                     [7,8,9],
                     [9,8,9],
                     [7,8,9]])
    
    
    # creating a random array
    a = np.random.rand(data.shape[1])
    
    # multiply the given array and random array.
    b = data.dot(a)
    
    # pass the resultant array to the unique()
    unique, index = np.unique(b, return_index=True)
    
    # use the index to print the unique array from given array
    data = data[index]
    
    print(data)

    通过迭代从一维 NumPy 数组中删除重复项

    给定一个一维数组,对于数组中的每个元素,我们将检查它是否在数组中重复,如果重复,我们将删除该元素,否则我们将保留它。

    方法 :

  • 导入 numpy 库并创建一个 numpy 数组
  • 初始化一个空列表并将其命名为唯一。
  • 遍历 numpy 数组并为每个元素检查元素是否存在于唯一列表中
  • 如果该元素不存在于唯一列表中,则将其添加到列表中,否则继续。
  • 现在从唯一列表中创建一个 numpy 数组
  • import numpy as np
    
    # create a numpy array
    data=np.array([1, 2, 3, 4, 4, 6, 5, 6, 7])
    
    # creating a empty list
    unique=[]
    
    # iterating each element of array
    for i in data:
    # if element is not present in the list
    # add the element to list.
        if i not in unique:
            unique.append(i)
    
    data=np.array(unique)       
    
    print(data)

    通过迭代数组从二维数组中删除重复项

    给定一个二维数组,对于数组中的每个数组,我们将检查它是否在数组中重复,如果重复,我们将删除数组,否则我们将保留它。

    方法 :

  • 导入 numpy 库并创建一个 numpy 数组
  • 初始化一个空列表并将其命名为唯一。
  • 遍历 numpy 数组并为每个数组检查数组是否存在于唯一列表中
  • 如果该数组不存在于唯一列表中,则将其添加到列表中,否则继续。
  • 现在从唯一列表中创建一个 numpy 数组
  • import numpy as np
    
    # create 2D NumPy Array
    data=np.array([ [1,2,3],
                    [5,6,7],
                    [7,8,9],
                    [9,8,9],
                    [7,8,9]])
    
    unique=[]
    
    # iterating each array of array
    for i in data:
        # if array is not present in the list
        # add the array to list.
        if list(i) not in unique:
            unique.append(list(i))
    
    data=np.array(unique)       
    
    print(data)

    使用 numpy.lexsort() 和 np.diff() 方法

    词法排序()

    lexsort() 是间接稳定排序,lexsort() 接受一个排序键数组,可以将其解释为 numpy 数组中的列,lexsort 返回一个整数索引数组,该数组描述了多列的排序顺序。

  • 要从数组中删除重复项,我们将使用 lexsort() 对给定的 NumPy 数组进行排序,排序后如果有任何重复项,则它们将相邻。现在排序后的数组被传递给 diff() 方法,该方法将查找数组中的差异,如果有任何重复项,差异将为零。我们使用 any() 方法查找非零行,这将用于从排序数组中获取唯一数组。

    方法 :

  • 导入 numpy 库并创建一个 numpy 数组
  • 将给定数组的转置作为排序键传递给 lexsort() 方法
  • 使用 lexsort 方法返回的排序索引对给定数组进行排序
  • 排序后的数组传递给 numpy diff() 方法,它将找到沿轴的差异
  • any() 方法查找非零行
  • 非零行信息用于从排序数组中创建唯一数组。

到了这里,关于Python 对数组去重:的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js数组去重(9种方法),你都会了吗?

    以下共有九种数组去重的方式和详解(包含对象数组去重): 1.利用Array.from(new Set)去重: 效果: 2.利用includes去重 效果 3.利用map去重  效果: 4.利用indexOf去重 效果: 5. 利用单层for循环去重  效果: 6.利用双层for循环去重 效果:  7.利用递归去重  效果: 8.利用Array.filter和

    2024年02月12日
    浏览(43)
  • JavaScript数组去重,大小排序的两种方法

    方法有很多种,本文列举其中两种 声明一个数组 数组去重 1:利用ES6中的 Set 方法去重(最常用) 原理: Set数据结构中所有元素都是唯一的,没有重复 Set 本身是一个构造函数,用来生成 Set 数据结构 2:利用indexOf去重 原理: indexof() 可返回某个指定的字符串值在字符串中首

    2024年02月06日
    浏览(44)
  • 【Python Numpy】广播、数组的迭代

    在Python的科学计算领域,NumPy是一个强大的工具,它提供了用于操作多维数组的功能。广播(Broadcasting)是NumPy中的一个重要概念,它使得不同形状的数组之间的计算变得非常灵活和便捷。本文将介绍广播是什么,以及如何在NumPy中使用广播来进行数组计算。 在Python的科学计算

    2024年02月06日
    浏览(62)
  • Python Numpy入门基础(一)创建数组

    1- np.array() 参数众多,初学时只要关注基本用法。 元组、列表转换 内置函数 range() 数组副本copy,开辟一块新内存复制原数组 主要参数: dtype=     数组元素的数据类型,可选 copy=      对象是否需要复制,可选 order=     创建数组的样式,C为行方向,F为列方向,A为任意方

    2024年02月14日
    浏览(46)
  • Python Numpy入门基础(二)数组操作

    NumPy是Python中一个重要的数学运算库,它提供了了一组多维数组对象和一组用于操作这些数组的函数。以下是一些NumPy的主要特点: 多维数组对象:NumPy的核心是ndarray对象,它是一个多维数组对象,可以容纳任意数据类型。 矢量化操作:使用NumPy的函数,可以对整个数组进行

    2024年02月15日
    浏览(46)
  • Python numpy - 数组与矩阵的运算

    目录  数组array 一 数组的函数 unique函数  sum函数  max函数 二 数组的加减 三 数组的乘除  矩阵matrix 一 矩阵的生成 二 矩阵的加减 三  矩阵的乘法 创建数组a和b用来运算(至少两个) 数组常用函数 函数 作用 unique() 求数组里的唯一值,输出从小到大排列 sum() 对数组整

    2024年02月11日
    浏览(46)
  • Python numpy - 数组的创建与访问

    目录 一 数组array的创建途径 1  列表list  2 函数array  3 函数arange 4 函数zeros 5 函数eyes 6 随机函数randn/ randint 二 数组array的访问  1 访问形状/元素个数/数据类型  2 访问一维数组的位置/范围 3 访问二维数组的位置/范围 4 用:访问二维数组的切片 生成数组的常用途径 list列表

    2024年02月07日
    浏览(47)
  • 【深度学习】 Python 和 NumPy 系列教程(十二):NumPy详解:4、数组广播;5、排序操作

    目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 4、数组广播 5、排序操作 1. np.sort() 函数 2. np.argsort() 函数 3. ndarray.sort() 方法 4. 按列或行排序 5. np.lexsort() 函数 6. np.partition() 函数 7. np.argpartition() 函

    2024年02月08日
    浏览(67)
  • 【Python入门知识】NumPy 数组搜索,案例+理论讲解

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 搜索数组 可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。 要搜索数组,请使用 where() 方法。 实例 查找值为 4 的索引: 运行实例 更多python资料、源码、教程: 点击此处跳转文末名片获取 上例会返回一个元组:(array([

    2024年02月03日
    浏览(48)
  • 【Python入门第四十六天】Python丨NumPy 数组重塑

    重塑意味着更改数组的形状。 数组的形状是每个维中元素的数量。 通过重塑,我们可以添加或删除维度或更改每个维度中的元素数量。 实例 将以下具有 12 个元素的 1-D 数组转换为 2-D 数组。 最外面的维度将有 4 个数组,每个数组包含 3 个元素: 运行实例 从 1-D 重塑为 3-D

    2023年04月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包