Spec-Zone.ru › NumPy 1.21

numpy.insert

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

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

Параметры
arrarray_like

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

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

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

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

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

valuesarray_like

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

axisint, необязательно

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

Возвращает
outndarray

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

См. также

numpy.append

Добавление элементов в конец массива.

numpy.concatenate

Объединение последовательности массивов вдоль существующей оси.

numpy.delete

Удаление элементов из массива.

Примечания

Обратите внимание, что при вставке в многомерные массивы поведение функции numpy.insert существенно отличается от поведения, например, функции numpy.append.

Примеры

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

Spec-Zone.ru

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