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