Spec-Zone.ru › NumPy 1.19

numpy.insert

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

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

Параметры
arrarray_like

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

objint, slice or sequence of ints

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

Новая функция в версии 1.8.0.

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

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.19/reference/generated/numpy.insert.html

Spec-Zone.ru

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