首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将元素插入到numpy数组的开始和结束

将元素插入到numpy数组的开始和结束
EN

Stack Overflow用户
提问于 2015-09-28 17:49:40
回答 4查看 36.6K关注 0票数 23

我有一个numpy数组:

代码语言:javascript
运行
复制
import numpy as np
a = np.array([2, 56, 4, 8, 564])

我想添加两个元素:一个在数组的开头,88,和一个在末尾,77

我可以这样做:

代码语言:javascript
运行
复制
a = np.insert(np.append(a, [77]), 0, 88)

这样,a最终看起来就像:

代码语言:javascript
运行
复制
array([ 88,   2,  56,   4,   8, 564,  77])

问题是:正确的方法是什么?我觉得在一个np.append中嵌套一个np.insert很可能不是用pythonic的方法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-28 17:53:22

另一种方法是使用numpy.concatenate。例子-

代码语言:javascript
运行
复制
np.concatenate([[88],a,[77]])

演示-

代码语言:javascript
运行
复制
In [62]: a = np.array([2, 56, 4, 8, 564])

In [64]: np.concatenate([[88],a,[77]])
Out[64]: array([ 88,   2,  56,   4,   8, 564,  77])
票数 31
EN

Stack Overflow用户

发布于 2015-09-28 17:53:13

你可以用np.concatenate -

代码语言:javascript
运行
复制
np.concatenate(([88],a,[77]))
票数 7
EN

Stack Overflow用户

发布于 2015-09-28 17:57:47

可以将索引列表传递给np.insert

代码语言:javascript
运行
复制
>>> np.insert(a,[0,5],[88,77])
array([ 88,   2,  56,   4,   8, 564,  77])

如果不知道数组的长度,则可以使用array.size指定数组的结尾:

代码语言:javascript
运行
复制
>>> np.insert(a,[0,a.size],[88,77])
array([ 88,   2,  56,   4,   8, 564,  77])
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32828922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档