División de arreglos NumPy
- Página anterior Conexión de arreglos NumPy
- Página siguiente Búsqueda de arreglos NumPy
Dividir arrays NumPy
La división es la operación inversa de la conexión.
Conexión (Joining) es combinar varios arrays en uno, división (Spliting) es dividir un array en varios.
Usamos array_split()
Dividir el array, pasar el array que se va a dividir y el número de divisiones a pasarle.
Ejemplo
Dividir el array en 3 partes:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Notas:El valor de retorno es un array que contiene tres arrays.
Si los elementos del array son menos de la cantidad requerida, se ajustarán desde el final.
Ejemplo
Dividir el array en 4 partes:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Consejo:También tenemos split()
El método está disponible, pero cuando los elementos del array de origen son menos de los necesarios para la división, no ajustará los elementos, como en el ejemplo anterior,array_split()
funciona correctamente, pero split()
fallará.
Dividir en array
array_split()
El valor de retorno del método es un array que contiene cada división.
Si se divide un array en 3 arrays, se puede acceder a ellos desde el resultado como a cualquier elemento de un array:
Ejemplo
Acceder al array dividido:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
Dividir array bidimensional
Al dividir un array bidimensional, utilice la sintaxis correspondiente.
Uso array_split()
Método, ingrese el array que desea dividir y el número de divisiones que desea realizar.
Ejemplo
Dividir este array 2-D en tres arrays 2-D.
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
El ejemplo anterior devuelve tres arrays 2-D.
Veamos otro ejemplo, esta vez cada elemento del array 2-D contiene 3 elementos.
Ejemplo
Dividir este array 2-D en tres arrays 2-D.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
El ejemplo anterior devuelve tres arrays 2-D.
Además, puede especificar el eje para dividir.
El siguiente ejemplo también devuelve tres arrays 2-D, pero se dividen a lo largo de las filas (axis=1).
Ejemplo
Dividir este array 2-D en tres arrays 2-D a lo largo de las filas.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
Otra solución es usar con hstack()
Contrario hsplit()
.
Ejemplo
Utilizar el método hsplit() para dividir un array 2-D en tres arrays 2-D a lo largo de las filas.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
Consejo:vsplit()
Y dsplit()
Se puede usar con vstack()
Y dstack()
Métodos alternativos similares.
- Página anterior Conexión de arreglos NumPy
- Página siguiente Búsqueda de arreglos NumPy