Spec-Zone.ru › NumPy 1.14

numpy.insert

numpy.insert(arr, obj, values, axis=None) [source]

Вставка значений вдоль заданной оси перед заданными индексами.

Параметры:

arr : array_like

Вводной массив.

obj : int, slice или последовательность целых чисел

Объект, определяющий индекс или индексы, перед которыми вставляется values.

Введено в версии 1.8.0.

Поддержка множественных вставок, когда obj является скалярной величиной или последовательностью с одним элементом (аналогично вызову insert несколько раз).

values : array_like

Значения, которые нужно вставить в arr. Если тип values отличается от типа arr, values преобразуется к типу arr. values должно быть сформировано таким образом, чтобы arr[...,obj,...] = values было правомерным.

axis : int, необязательно

Ось, вдоль которой следует вставить values. Если axis равно None, то arr сперва сглаживается.

Возвращает:

out : ndarray

Копия arr с вставленным values. Обратите внимание, что insert не выполняется на месте: возвращается новый массив. Если axis равно None, out является сглаженным массивом.

См. также

append
Добавить элементы в конец массива.
concatenate
Объединить последовательность массивов вдоль существующей оси.
delete
Удалить элементы из массива.

Примечания

Обратите внимание, что при вставке в многомерные массивы obj=0 ведет себя совершенно иначе, чем obj=[0], так же, как arr[:,0,:] = values отличается от arr[:,[0],:] = values.

Примеры

>>> a = np.array([[1, 1], [2, 2], [3, 3]])
>>> a
array([[1, 1],
       [2, 2],
       [3, 3]])
>>> np.insert(a, 1, 5)
array([1, 5, 1, 2, 2, 3, 3])
>>> np.insert(a, 1, 5, axis=1)
array([[1, 5, 1],
       [2, 5, 2],
       [3, 5, 3]])

Разница между последовательностью и скалярами:

>>> np.insert(a, [1], [[1],[2],[3]], axis=1)
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
>>> np.array_equal(np.insert(a, 1, [1, 2, 3], axis=1),
...                np.insert(a, [1], [[1],[2],[3]], axis=1))
True
>>> b = a.flatten()
>>> b
array([1, 1, 2, 2, 3, 3])
>>> np.insert(b, [2, 2], [5, 6])
array([1, 1, 5, 6, 2, 2, 3, 3])
>>> np.insert(b, slice(2, 4), [5, 6])
array([1, 1, 5, 2, 6, 2, 3, 3])
>>> np.insert(b, [2, 2], [7.13, False]) # type casting
array([1, 1, 7, 0, 2, 2, 3, 3])
>>> x = np.arange(8).reshape(2, 4)
>>> idx = (1, 3)
>>> np.insert(x, idx, 999, axis=1)
array([[  0, 999,   1,   2, 999,   3],
       [  4, 999,   5,   6, 999,   7]])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.insert.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API