Вставка элементов в начало и конец массива 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])