Spec-Zone.ru › NumPy 1.18

numpy.insert

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

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

Параметры
arrarray_like

Массив входных данных.

objint, slice or sequence of ints

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

Новое в версии 1.8.0.

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

valuesarray_like

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

axisint, optional

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

Возвращаемое значение
outndarray

Копия 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, 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, ..., 2, 3, 3])
>>> np.insert(b, slice(2, 4), [5, 6])
array([1, 1, 5, ..., 2, 3, 3])
>>> np.insert(b, [2, 2], [7.13, False]) # type casting
array([1, 1, 7, ..., 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.insert.html

Spec-Zone.ru

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