【发布时间】:2015-09-29 01:59:25
【问题描述】:
我有一个numpy 数组:
import numpy as np
a = np.array([2, 56, 4, 8, 564])
我想添加两个元素:一个在数组的开头,88,一个在末尾,77。
我可以这样做:
a = np.insert(np.append(a, [77]), 0, 88)
所以a 最终看起来像:
array([ 88, 2, 56, 4, 8, 564, 77])
问题:这样做的正确方法是什么?我觉得在np.insert 中嵌套np.append 很可能不是pythonic 的方式。
【问题讨论】:
-
所以我们得到了
hstack和concatenate作为答案。在实践中,两者之间是否存在性能差异(例如,如果插入大型数组?) -
@areuexperienced 我刚刚运行了一些时间,并且无论数组长度如何,连接始终比 hstack 快约 3 倍。有没有其他人发现类似的结果?
-
@J.Corson 是的,这是预期的,并且遵循与
this solution中讨论的相同模式 -
@Divakar 谢谢!我没看过那个帖子。
-
insert,append,甚至hstack都使用np.concatenate。