Вставка элементов в начало и конец массива numpy
у меня есть 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.append
на np.insert
скорее всего, это не питонический способ сделать это.
4 ответов
другой способ сделать это - использовать numpy.concatenate
. Пример -
np.concatenate([[88],a,[77]])
демо -
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])
вы можете передать список индексов np.insert
:
>>> np.insert(a,[0,5],[88,77])
array([ 88, 2, 56, 4, 8, 564, 77])
или если вы не знаете длину массива, вы можете использовать array.size
, чтобы указать конец массива :
>>> np.insert(a,[0,a.size],[88,77])
array([ 88, 2, 56, 4, 8, 564, 77])