Spec-Zone.ru › NumPy 1.20

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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.insert.html

Spec-Zone.ru

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