English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
operaciones de adición y eliminación de arrays, las funciones más comunes son las siguientes:
funciones | elementos y descripciones |
resize | devolver un nuevo array con la forma especificada |
append | agregar valores al final del array |
insert | insertar valores en la posición especificada antes del índice especificado en el eje designado |
delete | eliminar subarray de un eje específico y devolver el nuevo array resultante |
unique | buscar elementos únicos dentro del array |
La función numpy.resize devuelve un nuevo array de tamaño especificado.
Si el tamaño del nuevo array es mayor que el tamaño original, contiene copias de los elementos del array original.
numpy.resize(arr, shape)
Descripción de los parámetros:
arr:el array que se debe modificar el tamañoshape:devuelve la nueva forma del array
import numpy as np a = np.array([[1,2,3,4,5,6,7,8,4,5,6,7,8,9,10,11]] print ('Primer array:') print (a) print (' ') print ('Forma del primer array:') print (a.shape) print (' ') b = np.resize(a, (4,2)) print ('Segundo array:') print (b) print (' ') print ('Forma del segundo array:') print (b.shape) print (' ') # Prestar atención: la primera fila de a se repite en b porque el tamaño ha aumentado print ('Modificar el tamaño del segundo array:') b = np.resize(a,(5,5)) print (b)
El resultado de la salida es:
Primer array: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11]] Forma del primer array: (2, 8) Segundo array: [[1 2] [3 4] [5 6] [7 8]] Forma del segundo array: (4, 2) Modificar el tamaño del segundo array: [[ 1 2 3 4 5] [ 6 7 8 4 5] [ 6 7 8 9 10] [11 1 2 3 4] [ 5 6 7 8 4]]
La función numpy.append agrega valores al final del array. La operación de agregado asigna todo el array, copiando el array original al nuevo array. Además, las dimensiones del array de entrada deben coincidir; de lo contrario, se generará un ValueError.
El array siempre devuelto por la función append es unidimensional.
numpy.append(arr, values, axis=None)
Descripción de los parámetros:
arr: array de entradavalues:los valores que se deben agregar a arr, deben tener la misma forma que arr (excepto en el eje que se va a agregar)axis:por defecto None. Cuando axis no está definido, se agrega en sentido horizontal, siempre se devuelve un array unidimensional!1en ese momento. Cuando axis está definido,分别为0 y1en ese momento (las columnas deben ser iguales). Cuando axis es1en ese momento, el array se agrega a la derecha (las filas deben ser iguales).
import numpy as np a = np.array([[1,2,3,4,5,6,7,8,4,5,6,7,8,9,10,11]] print ('Primer array:') print (a) print (' ') print ('Agregar elementos al array:') print (np.append(a, [7,8,9)) print (' ') print ('Agregar elementos a lo largo del eje 0:') print (np.append(a, [[1,2,3,4,5,6,7,8]]], axis = 0)) print (' ') print ('A lo largo del eje ') 1 Agregar elementos:') print (np.append(a, [[5,5,5,5,5,5,5,7,8,9,7,8,9,1]]], axis = 1))
El resultado de la salida es:
Primer array: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11]] Agregar elementos al array: [ 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 7 8 9] Agregar elementos a lo largo del eje 0: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11] [ 1 2 3 4 5 6 7 8]] A lo largo del eje 1 Agregar elementos: [[ 1 2 3 4 5 6 7 8 5 5 5 5 5 5 5] [ 4 5 6 7 8 9 10 11 7 8 9 7 8 9 1]]
La función numpy.insert inserta valores antes de un índice dado en el array de entrada a lo largo del eje especificado.
Si el tipo de valor se convierte en el tipo que se debe insertar, es diferente del array de entrada. La inserción no se realiza en el lugar, la función devuelve un nuevo array. Además, si no se proporciona el eje, el array de entrada se expande.
numpy.insert(arr, obj, values, axis)
Descripción de los parámetros:
arr: array de entradaobj: el índice en el que se insertan los valoresvalues: los valores que se van a insertaraxis: el eje a lo largo del cual se inserta, si no se proporciona, el array de entrada se desplegará
import numpy as np a = np.array([[1,2,3,4,5,6]] print ('Primer array:') print (a) print (' ') print ('No se ha pasado el parámetro Axis. El array de entrada se desplegará antes de la inserción.') print (np.insert(a,3,11,12)) print (' ') print ('Se ha pasado el parámetro Axis. Se broadcast el valor del array para que coincida con el array de entrada.') print ('Broadcast a lo largo del eje 0:') print (np.insert(a,1,11],axis = 0)) print (' ') print ('A lo largo del eje ') 1 Broadcast: ') print (np.insert(a,1,11,axis = 1))
Los resultados de salida son los siguientes:
Primer array: [[1 2] [3 4] [5 6]] No se ha pasado el parámetro Axis. El array de entrada se desplegará antes de la inserción. [ 1 2 3 11 12 4 5 6] Se ha pasado el parámetro Axis. Se广播值数组以匹配 el array de entrada. Broadcast a lo largo del eje 0: [[ 1 2] [11 11] [ 3 4] [ 5 6]] A lo largo del eje 1 Broadcast: [[ 1 11 2] [ 3 11 4] [ 5 11 6]]
La función numpy.delete devuelve un nuevo array sin el subarray especificado del array de entrada. Al igual que con la función insert(), si no se proporciona el parámetro de eje, el array de entrada se desplegará.
Numpy.delete(arr, obj, axis)
Descripción de los parámetros:
arr: array de entradaobj: puede ser cortado, entero o array de enteros, que indica el subarray que se debe eliminar del array de entradaaxis: elimina el subarray dado a lo largo de este eje, si no se proporciona, el array de entrada se desplegará
import numpy as np a = np.arange(12).reshape(3,4) print ('Primer array:') print (a) print (' ') print ('No se ha pasado el parámetro Axis. El array de entrada se desplegará antes de la inserción.') print (np.delete(a,5)) print (' ') print ('Eliminar la segunda columna: ') print (np.delete(a,1,axis = 1)) print (' ') print ('Incluye una rebanada de valores de reemplazo eliminados del array: ') a = np.array([1,2,3,4,5,6,7,8,9,10] print (np.delete(a, np.s_[::2))
El resultado de la salida es:
Primer array: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] No se ha pasado el parámetro Axis. El array de entrada se desplegará antes de la inserción. [ 0 1 2 3 4 6 7 8 9 10 11] Eliminar la segunda columna: [[ 0 2 3] [ 4 6 7] [ 8 10 11]] Incluye una rebanada de valores de reemplazo eliminados del array: [ 2 4 6 8 10]
La función numpy.unique se utiliza para eliminar elementos repetidos de un array.
numpy.unique(arr, return_index, return_inverse, return_counts)
arr: array de entrada, si no es un array unidimensional se desplegaráreturn_index: si es verdadero, devuelve la posición (índice) de los elementos de la nueva lista en la lista antigua y los almacena en una listareturn_inverse: si es verdadero, devuelve la posición (índice) de los elementos de la lista antigua en la nueva lista y los almacena en una listareturn_counts: si es verdadero, devuelve la cantidad de veces que los elementos del array original aparecen en el array sin duplicar
import numpy as np a = np.array([5,2,6,2,7,5,6,8,2,9] print ('Primer array:') print (a) print (' ') print ('Valor sin duplicar del primer array:') u = np.unique(a) print (u) print (' ') print ('Índices del array sin duplicados:') u,indices = np.unique(a,return_index = True) print (indices) print (' ') print ('Podemos ver cada valor correspondiente al índice del array original:') print (a) print (' ') print ('Índices del array sin duplicados:') u,indices = np.unique(a,return_inverse = True) print (u) print (' ') print ('Índice:') print (indices) print (' ') print ('Reconstrucción del array original con índices:') print (u[indices]) print (' ') print ('Número de elementos repetidos de eliminación de duplicados:') u,indices = np.unique(a,return_counts = True) print (u) print (indices)
El resultado de la salida es:
Primer array: [5 2 6 2 7 5 6 8 2 9] Valor sin duplicar del primer array: [2 5 6 7 8 9] Índices del array sin duplicados: [1 0 2 4 7 9] Podemos ver cada valor correspondiente al índice del array original: [5 2 6 2 7 5 6 8 2 9] Índices del array sin duplicados: [2 5 6 7 8 9] Índice: [1 0 2 0 3 1 2 4 0 5] Reconstrucción del array original con índices: [5 2 6 2 7 5 6 8 2 9] Número de elementos repetidos de eliminación de duplicados: [2 5 6 7 8 9] [3 2 2 1 1 1]