Shape y Reshape
Clase 6 de 24 • Curso de Manipulación y Transformación de Datos con Pandas y NumPy
Resumen
Hay 2 funciones muy importantes de los arreglos (Shape y Reshape). La forma de un arreglo nos va a decir con que estructura se está trabajando (tamaño, manipular, ingresar).
Shape
Indica la forma del arreglo.
arr = np.random.randint(1,10,(3,2))
arr.shape
---> (3, 2)
arr
---> array([[4, 2],
[4, 8],
[4, 3]])
Reshape
transforma el arreglo mientras se mantengan los elementos.
arr.reshape(1,6)
----> array([[4, 2, 4, 8, 4, 3]])
arr.reshape(2,3)
---> array([[4, 2, 4],
[8, 4, 3]])
np.reshape(arr,(1,6))
---> array([[4, 2, 4, 8, 4, 3]])
Se puede hacer un reshape como lo haría C.
np.reshape(arr,(2,3), 'C')
---> array([[4, 2, 4],
[8, 4, 3]])
También se puede hacer reshape a como lo haría Fortran.
np.reshape(arr,(2,3), 'F')
---> array([[4, 4, 8],
[4, 2, 3]])
Además, existe la opción de hacer reshape según como esté optimizado nuestro computador. En este caso es como en C.
np.reshape(arr,(2,3), 'A')
---> array([[4, 2, 4],
[8, 4, 3]])
No puedes cambiar la "forma" a la "forma" original del array, si tienes un (3,3) no lo puedes pasar a (4,2).
No respeta los 9 elementos del array original
Reto
- Crear un array de cualquier dimensión y cambiar sus dimensiones.
- Intenta cambiar el array de forma que no respete la estructura original
Contribución creada por: Edward Giraldo.