返回顶部
首页 > 资讯 > 后端开发 > Python >使用numpy.ndarray添加元素
  • 411
分享到

使用numpy.ndarray添加元素

2024-04-02 19:04:59 411人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录numpy.ndarray添加元素Numpy:数组(Ndarray)之元素添加、删除和修改添加元素删除元素元素修改numpy.ndarray添加元素 平常使用的比较多的是list

numpy.ndarray添加元素

平常使用的比较多的是list,在list后面添加元素直接是

data_list = []
data_list.append(0)

就可以了。

但是在上次使用这个用法时,报错numpy.adarray没有append这个属性,因此发现data_list这个变量不是一个list,而是numpy.ndarray类型的,因此改为:

np.append(data_list, 0)

但是这样改完之后会发现data_list的值并没有发生改变,因此,我改为

data_list = np.append(data_list, 0)

然后由于添加了一个元素,他会告诉你,等号右边是x+1维,左边是x维,不能赋值,然后改为:

new_list = np.append(data_list, 0)

定义了一个新变量new_list用于保存添加完元素的值,后面再接着使用new_list进行操作就可以了。

Numpy:数组(Ndarray)之元素添加、删除和修改

数组也是一个可变类型,可以对数组中的元素进行添加、删除和修改,本文详细介绍了对数组元素的添加和删除的操作,以及这两种操作的方法均已列出。数组元素的修改操作简单,只要对索引和切片掌握,使用索引和切片获取到元素后赋值就可以实现。

添加元素

方法说明
numpy.append()数组追加元素
numpy.insert()数组插入元素

numpy.append()

在数组末尾追加元素。

numpy.append(arr, values, axis=None)

参数说明:

  • arr:接收array_like,需要添加元素的数组。
  • values:接收array_like,追加到末尾的元素,形状必须匹配。arr和values的维度必须相等才能追加
  • axis:接收int,如果未给定轴,则arr和values在使用前都会被展平。

返回值:

  • ndarray,arr的副本。

示例:

# 创建数组a
>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
# 创建数组b       
>>> b = np.arange(7,10).reshape(1,3) # a,b维度相同才能追加
>>> b  
array([[7, 8, 9]]) 

注意:数组(arr)和追加值(values)的维度必须相同才可以追击,否则会报错:

ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

不指定轴向时,生成副本,将数组a,b都展平后进行追加。

# 将数组b追加到数组a后
>>> np.append(a, values=b) # 不指定axis时
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9]) 

指定轴向时,根据轴向追加,但是形状必须匹配,指定轴向为行追加时列数必须相等,指定轴向为列追加时,行数必须相等。

>>> np.append(a, values=b, axis=0) # 根据行追加
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9]])

指定轴向时,指定轴向为列时,行数不相同,形状不匹配,无法追加,会报ValueError错!

>>> np.append(a, values=b, axis=1)
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 2 and the array at index 1 has size 1

numpy.insert()

给定的轴向和指定的索引位置插入值。

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

参数说明:

  • arr:接收array_like,输入的数组。
  • obj:接收整数或者整数序列,索引位置。
  • values:接收array_like,需要插入数组的值,需要考虑形状。
  • axis:接收整数,轴向。如果未给定轴向数组会被展平。

返回值:

  • ndarray,插入值后的副本。

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> b = np.ones(shape=(2,1))
>>> b
array([[1.],
       [1.]])
       
# 向数组a的行方向,索引为2的行插入数组b,会自动补全
>>> np.insert(a, 2, b, axis=0)
array([[1, 2, 3],
       [4, 5, 6],
       [1, 1, 1],
       [1, 1, 1]])
       
# 向数组a的列方向,索引为2的列插入数组b
>>> np.insert(a, 2, b, axis=1)
array([[1, 2, 1, 1, 3],
       [4, 5, 1, 1, 6]])

删除元素

方法说明
numpy.delete()删掉某个轴的子数组,并返回删除后的新数组

numpy.delete()

返回一个沿轴删除了子数组的新数组。

返回一个沿轴删除了子数组的新数组。

numpy.delete(arr, obj, axis=None)

参数说明:

  • arr:接收array_like,输入数组。
  • obj:接收索引、切片,或者整数构成的数组。
  • axis:接收整数,轴向

返回值:

  • ndarray,删除元素后的数组,是副本。

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
# 轴向为列,删除索引为2的列      
>>> np.delete(a, 2, axis=1)      
array([[1, 2],
       [4, 5]])

对数据进行操作时形状非常重要,如果形状不匹配会引发报错,需要对报错的类型了解,才能在出问题后及时找到原因。除此以外,轴向也是非常重要的,二维数组中:axis=0表示行,axis=1表示列,这个概念非常容易混淆。

元素修改

使用索引切片获取到该位置的元素后使用"="为该位置重新赋值即可。

语法:数组名[索引]=值 或 数组名[切片]=值

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
       
# 使用索引获取到该位置后重新赋值即可修改元素       
>>> a[0, 1] = 100
>>> a
array([[ 1, 100, 3],
       [ 4,  5,  6]])     

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用numpy.ndarray添加元素

本文链接: https://lsjlt.com/news/118278.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用numpy.ndarray添加元素
    目录numpy.ndarray添加元素Numpy:数组(Ndarray)之元素添加、删除和修改添加元素删除元素元素修改numpy.ndarray添加元素 平常使用的比较多的是list...
    99+
    2024-04-02
  • 如何使用jquery添加元素
    今天就跟大家聊聊有关如何使用jquery添加元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式...
    99+
    2023-06-14
  • 怎么在java中使用LinkedHashMap添加元素
    怎么在java中使用LinkedHashMap添加元素?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为...
    99+
    2023-06-14
  • 使用php怎么向数组添加元素
    使用php怎么向数组添加元素?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext ...
    99+
    2023-06-14
  • 使用jquery怎么为数组添加元素
    这篇文章给大家介绍使用jquery怎么为数组添加元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功能接口、高效...
    99+
    2023-06-14
  • python如何使用insert添加列表元素
    本篇内容介绍了“python如何使用insert添加列表元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明index表示指定位置的索引值...
    99+
    2023-06-20
  • python元组怎么添加元素
    元组是不可变的数据类型,一旦创建后就无法修改元素。所以无法直接添加元素到元组中。 但可以通过以下步骤间接添加元素到元组: 创建一个...
    99+
    2024-02-29
    python
  • jquery如何添加元素
    在jquery中添加元素的方法:1.新建html项目,引入jquery;2.在项目中创建测试标签;3.使用append()、prepend()、after()、before()方法添加元素;具体步骤如下:首先,在新建一个html项目,在项目...
    99+
    2024-04-02
  • 使用java怎么往数组中添加元素
    使用java怎么往数组中添加元素?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序...
    99+
    2023-06-14
  • javascript中如何添加元素
    javascript中如何添加元素,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方法:1、appendChild()方法在末尾...
    99+
    2024-04-02
  • golang如何添加list元素
    这篇“golang如何添加list元素”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“golang如何添加list元素”文章吧...
    99+
    2023-07-05
  • Python之字典添加元素
    0、好吧,还是直接上干货,向字典中添加元素,即Entry,Python用的很巧妙啊,当发现字典中并没有你要的key后,干脆帮你添加进去了 from utils import printWithChinese book_dict = {...
    99+
    2023-01-31
    字典 元素 Python
  • 使用python怎么在列表末尾添加元素
    使用python怎么在列表末尾添加元素?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性...
    99+
    2023-06-14
  • 使用JavaScript怎么向二维数组添加元素
    使用JavaScript怎么向二维数组添加元素?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为...
    99+
    2023-06-14
  • 怎么在jQuery中使用add()方法添加元素
    这篇文章给大家介绍怎么在jQuery中使用add()方法添加元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功...
    99+
    2023-06-14
  • 怎么在jquery中使用after() 方法添加元素
    这篇文章将为大家详细讲解有关怎么在jquery中使用after() 方法添加元素,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。jquery是什么jquery是一个简洁而快速的JavaScri...
    99+
    2023-06-14
  • 怎么在jquery中使用before() 方法添加元素
    这篇文章给大家介绍怎么在jquery中使用before() 方法添加元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清...
    99+
    2023-06-14
  • 使用python如何在列表末尾添加元素
    本篇文章给大家分享的是有关使用python如何在列表末尾添加元素,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编译...
    99+
    2023-06-14
  • python怎么向元组中添加元素
    元组是不可变的数据结构,意味着你不能直接在元组中添加、删除或修改元素。但是你可以通过以下方法创建一个新的元组,包含原始元组的所有元素...
    99+
    2023-10-11
    python
  • python元组怎么添加变量元素
    在Python中,元组是不可变的,即不能直接修改元组的元素。但是,可以通过以下方式添加变量元素到已有元组中: 使用`+`运算符进...
    99+
    2023-10-28
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作