文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Numpy数组操作之元素添加、删除和修改怎么实现

2023-07-05 17:24

关注

这篇文章主要介绍“Numpy数组操作之元素添加、删除和修改怎么实现”,在日常操作中,相信很多人在Numpy数组操作之元素添加、删除和修改怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Numpy数组操作之元素添加、删除和修改怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

数组元素添加、删除和修改

添加元素

numpy.append()

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

在数组末尾追加元素。

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

参数说明:

返回值:

示例:

# 创建数组a>>> a = np.arange(1,7).reshape(2,3)>>> aarray([[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)

参数说明:

返回值:

示例:

>>> a = np.arange(1,7).reshape(2,3)>>> aarray([[1, 2, 3],       [4, 5, 6]])>>> b = np.ones(shape=(2,1))>>> barray([[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)

参数说明:

返回值:

示例:

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

到此,关于“Numpy数组操作之元素添加、删除和修改怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯