El paso a paso o código que verás en este artículo es la resolución más sencilla y efectiva que encontramos a esta duda o dilema.
numpy.insert(arr, obj, values, axis=None)
[source]-
Inserte valores a lo largo del eje dado antes de los índices dados.
- Parámetros
-
arrarray_like
-
Aporte array.
objint, slice or sequence of ints
-
Objeto que define el índice o índices ante los cuales
values
se inserta.Nuevo en la versión 1.8.0.
Soporte para múltiples inserciones cuando
obj
es un escalar único o una secuencia con un elemento (similar a llamar a insert varias veces). valuesarray_like
-
Valores para insertar
arr
. Si el tipo devalues
es diferente a la dearr
,values
se convierte al tipo dearr
.values
debe tener la forma de quearr[...,obj,...] = values
es legal. axisint, optional
-
Eje a lo largo del cual insertar
values
. Siaxis
es Ninguno entoncesarr
se aplana primero.
- Devoluciones
-
outndarray
-
Una copia de
arr
convalues
insertado. Tenga en cuenta queinsert
no ocurre en el lugar: un nuevo array es regresado. Siaxis
es Ninguno,out
es un aplanado array.
Ver también
append
-
Agregar elementos al final de un array.
concatenate
-
Une una secuencia de matrices a lo largo de un eje existente.
delete
-
Eliminar elementos de un array.
Notas
Tenga en cuenta que para inserciones de dimensiones superiores
obj=0
se comporta de manera muy diferente aobj=[0]
al igual quearr[:,0,:] = values
es diferente dearr[:,[0],:] = values
.Ejemplos de
>>> 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]])
Diferencia entre secuencia y escalares:
>>> 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]])
Te mostramos comentarios y calificaciones
Si conservas algún titubeo y disposición de arreglar nuestro enunciado puedes añadir una reseña y con deseo lo estudiaremos.