Gab*_*iel 14 python arrays numpy
我有一个numpy数组:
import numpy as np
a = np.array([2, 56, 4, 8, 564])
Run Code Online (Sandbox Code Playgroud)
我想添加两个元素:一个在数组的开头88,一个在结尾,77.
我可以这样做:
a = np.insert(np.append(a, [77]), 0, 88)
Run Code Online (Sandbox Code Playgroud)
所以a最终看起来像:
array([ 88, 2, 56, 4, 8, 564, 77])
Run Code Online (Sandbox Code Playgroud)
问题是:这样做的正确方法是什么?我觉得自己像一个嵌套np.append在一个np.insert很可能不是Python的方式来做到这一点.
Ana*_*mar 19
另一种方法是使用numpy.concatenate.示例 -
np.concatenate([[88],a,[77]])
Run Code Online (Sandbox Code Playgroud)
演示 -
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])
Run Code Online (Sandbox Code Playgroud)
您可以将索引列表传递给np.insert:
>>> np.insert(a,[0,5],[88,77])
array([ 88, 2, 56, 4, 8, 564, 77])
Run Code Online (Sandbox Code Playgroud)
或者,如果您不知道数组的长度,则可以array.size用来指定数组的结尾:
>>> np.insert(a,[0,a.size],[88,77])
array([ 88, 2, 56, 4, 8, 564, 77])
Run Code Online (Sandbox Code Playgroud)