Spec-Zone.ru › NumPy 1.13

numpy.insert

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

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

Параметры:

arr : array_like

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

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

Объект, определяющий индекс или индексы, перед которыми вставляется 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]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.insert.html

Spec-Zone.ru

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