python数组怎么删除元素,python元组删除元素

  python数组怎么删除元素,python元组删除元素

  在numpy中添加和删除数组元素。您可以使用append()函数和insert()函数向数组中添加元素,或者使用delete()函数返回一个删除了某个轴的子数组的新数组。并使用unique()函数查找数组中的唯一元素。这些功能的应用如下所述。

  append()函数

  这个函数将一个元素添加到一个数组的末尾,这个函数将返回一个新的数组而不改变原来的数组。使用append()函数的方法如下:

  numpy.append(数组,值,轴)

  每个参数的描述:

  参数arr表示输入数组;

  Values表示添加到arr数组中的元素,values是一个数组。values数组的列维度与arr数组的列维度相同。

  Axis表示沿水平或垂直方向完成加法运算的轴。垂直操作轴取0,水平操作轴取1。

  如果没有提供轴值,输入数组将在添加操作之前展开。值可以是单个元素或任意数组。向arr数组添加值后,该函数将返回一个新数组,而原始数组保持不变。

  append()函数的示例1如下。

  # -*-编码: UTF-8 -*-

  将numpy作为np导入

  #创建数组arr

  arr=np.array([[1,2,3,4],[5,6,7,8]])

  打印(第一次排列:,排列:,排列)

  Print(向arr数组添加元素:)

  print(np.append(arr,[[9,10],[11,12]]))

  Print(原始数组:,arr)

  print('沿轴 0 添加元素:')

  print(np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0))

  print('沿轴 1 添加元素:')

  print(np.append(arr,[[9,10],[11,12]], axis=1))

  

insert()函数

  


  

该函数在给定索引之前,沿给定轴在输入数组中插入值。该函数会返回一个新数组,原数组不变。使用 insert() 函数的方法如下:

  

numpy.insert(arr,obj,values,axis)

  

对各个参数的说明:

  

  • 参数 arr 表示输入的数组;

      

  • obj 表示在其之前插入值的索引;

      

  • values 表示向arr数组插入的值,values值可为单元素或values数组,并且 values 数组行维度与arr数组列维度相同;

      

  • axis 表示沿着水平或竖直方向完成插入操作的轴,axis 取 0 表示沿竖直方向操作,即在 arr 数组行索引位于 obj 的位置处插入 values 值,axis 取 1 表示沿水平方向操作,即在 arr 数组列索引位于 obj 的位置处插入 values 值。

      

如果未提供 axis 值,在插入之前输入数组会被展开,values 可以是单个元素,也可以是一维数组,将 values 插入到 obj 的位置处,该函数会返回一个新数组,原数组不变。

  

另外,insert() 函数如果传递了 axis 参数,则插入 values 值时,会以广播值数组来配输入数组,即 np.insert(arr,2,[9],axis=0),其中 values 为 [9],arr 是 2 行 4 列数组,由于 axis=0,则插入值的数组列维度与arr数组列维度相同,因此,插入值数组为 1 行 4 列的数组,也就是广播值数组 [9,9,9,9]。

  

insert() 函数的示例代码 example2 如下。

  

# -*- coding: UTF-8 -*-

  import numpy as np

  #创建数组arr

  arr = np.array([[1,2,3,4], [5,6,7,8]])

  print('第1个数组arr:',arr)

  print('未传递axis参数。在插入之前输入数组会被展开。')

  print(np.insert(arr,4,[9, 10,11,12]))

  print('传递了axis参数,会以广播值数组来配输入数组。')

  print('沿轴 0 广播:')

  print(np.insert(arr, 2, [9], axis=0)) #插入值是[9,9,9,9]

  print('沿轴 0 插入:')

  print(np.insert(arr, 2, [9,10,11,12], axis=0))

  print('沿轴 1 广播:')

  print(np.insert(arr, 2, [[9],[10]], axis=1))

  print('沿轴 1 插入:')

  print(np.insert(arr, 2, [[9,10],[11,12]], axis=1))

  


  

delete()函数

  


  

该函数返回从输入数组中删除指定子数组的新数组,原数组不变。与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开。使用 delete() 函数的方法如下:

  

numpy.delete(arr,obj,axis)

  

对各个参数的说明:

  

  • 参数 arr 表示输入的数组;

      

  • obj 是用整数或者整数数组表示的从输入数组中删除的子数组,obj 可以用切片 numpy.s_[start:end:step] 表示要删除的子数组范围;

      

  • axis 表示沿着它删除给定子数组的轴,如果未提供 axis 值,则输入数组会被展开。

      

delete() 函数的示例代码 example3 如下。

  

# -*- coding: UTF-8 -*-

  import numpy as np

  #创建数组arr

  arr = np.arange(16).reshape(4,4)

  print('第1个数组arr:',arr)

  print ('未传递 axis 参数,在删除之前输入数组会被展开。')

  print (np.delete(arr,[6,9,12])) #删除arr数组中索引为6,9,12的元素

  print(arr)

  print('删除第3列:')

  print(np.delete(arr, 2, axis=1))

  print('删除第2行:')

  print(np.delete(arr, 1, axis=0))

  print('从数组中删除用切片表示元素范围值:')

  print(np.delete(arr, np.s_[::2]))

  

以上就是三种函数在numpy数组中的运用,更多Python学习推荐:Python学习网教学中心

  

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: