numpy.insert
-
numpy.insert(arr, obj, values, axis=None)[source] -
Вставка значений вдоль заданной оси перед заданными индексами.
Параметры: -
arr : array_like -
Входной массив.
-
obj : int, slice or sequence of ints -
Объект, определяющий индекс или индексы, перед которыми вставляется
values.Введено в версии 1.8.0.
Поддержка множественных вставок, когда
objявляется одиночным скаляром или последовательностью с одним элементом (аналогично многократным вызовам insert). -
values : array_like -
Значения для вставки в
arr. Если типvaluesотличается от типаarr,valuesпреобразуется к типуarr.valuesдолжно быть сформировано таким образом, чтобыarr[...,obj,...] = valuesбыло допустимым. -
axis : int, optional -
Ось, вдоль которой вставлять
values. Еслиaxisравно None, тоarrсначала сплющивается.
Возвращает: -
out : ndarray -
Копия
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, 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, 6, 2, 2, 3, 3])
>>> np.insert(b, slice(2, 4), [5, 6]) array([1, 1, 5, 2, 6, 2, 3, 3])
>>> np.insert(b, [2, 2], [7.13, False]) # type casting array([1, 1, 7, 0, 2, 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.insert.html