Ciencia de los datos

Cómo utilizar la función reshape () de Python NumPy

Cómo utilizar la función reshape () de Python NumPy

La biblioteca NumPy tiene muchas funciones para trabajar con la matriz multidimensional. La función reshape () es una de ellas que se usa para cambiar la forma de cualquier matriz existente sin cambiar los datos. La forma define el número total de elementos en cada dimensión.  La dimensión de la matriz se puede agregar o eliminar, y el número de elementos en cada dimensión se puede modificar usando la función reshape (). La matriz unidimensional se puede convertir en una matriz multidimensional, pero esta función no puede convertir la matriz multidimensional en una matriz unidimensional. Cómo funciona la función reshape () y sus usos se explican en este tutorial.

Sintaxis

La sintaxis de la función reshape () se da a continuación.

np_array numpy.remodelar (np_array, new_shape, order = 'C') 

Esta función puede tomar tres argumentos. El primer y segundo argumento son obligatorios y el tercer argumento es opcional. Una matriz NumPy es el valor del primer argumento (np_array) que será remodelado. La forma de la matriz se establece como segundo argumento (nueva forma) valor que puede ser un número entero o una tupla de números enteros. El orden de la matriz se establece mediante el tercer argumento (pedido) valor utilizado para definir la posición del elemento de la matriz reformada. El valor del tercer argumento puede ser 'C' o 'F' o 'A.'El valor del pedido'C'se utiliza para la ordenación de índices de estilo C donde el índice del último eje cambia más rápido y el índice del primer eje cambia más lento. El valor del pedido 'F'se utiliza para la ordenación de índices de estilo Fortran, donde el índice del primer eje cambia más rápido y el índice del último eje cambia más lento. Ambas cosas 'C' y 'F'las órdenes no usan memoria. El valor del pedido 'A'funciona como'F,'pero usa memoria.

Uso de la función reshape ():

Tienes que instalar la biblioteca NumPy antes de practicar los ejemplos de este tutorial. En la parte de este tutorial se muestran diferentes usos de la función reshape ().

Ejemplo 1: convertir una matriz unidimensional en una matriz bidimensional

El siguiente ejemplo muestra la función reshape () para convertir una matriz NumPy unidimensional en una matriz NumPy bidimensional. La función arange () se usa en el script para crear una matriz unidimensional de 10 elementos. La primera función reshape () se usa para convertir la matriz unidimensional en la matriz bidimensional de 2 filas y 5 columnas. Aquí, la función reshape () se llama usando el nombre del módulo, notario público. La segunda función reshape () se utiliza para convertir la matriz unidimensional en la matriz bidimensional de 5 filas y 2 columnas. Aquí, se llama a la función reshape () utilizando la matriz NumPy denominada np_array.

# Importar NumPy
importar numpy como np
# Crea una matriz NumPy de valores de rango
np_array = np.naranja (10)
# Imprime los valores de la matriz NumPy
print ("Los valores de la matriz NumPy: \ n", np_array)
# Reforma la matriz con 2 filas y 5 columnas
new_array = np.remodelar (np_array, (2, 5))
# Imprime los valores remodelados
print ("\ nLa matriz reformada con 2 filas y 5 columnas: \ n", new_array)
# Remodelar la matriz con 5 filas y 2 columnas
new_array = np_array.remodelar (5, 2)
# Imprime los valores remodelados
print ("\ nLa matriz reformada con 5 filas y 2 columnas: \ n", new_array)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La primera salida muestra la matriz principal. La segunda y tercera salida muestra la matriz reformada.

Ejemplo 2: convertir una matriz unidimensional en una matriz tridimensional

El siguiente ejemplo muestra la función reshape () para convertir una matriz NumPy unidimensional en una matriz NumPy tridimensional. La función array () se utiliza en el script para crear una matriz unidimensional de 12 elementos. La función reshape () se usa para convertir la matriz unidimensional creada en la matriz tridimensional. Aquí, se llama a la función reshape () utilizando la matriz NumPy denominada np_array.

# Importar NumPy
importar numpy como np
# Crea una matriz NumPy usando list
np_array = np.matriz ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Imprime los valores de la matriz NumPy
print ("Los valores de la matriz NumPy: \ n", np_array)
# Crea una matriz tridimensional a partir de una matriz unidimensional
new_array = np_array.remodelar (2, 2, 3)
# Imprime los valores remodelados
print ("\ nLos valores de matriz 3D remodelados son: \ n", new_array)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La primera salida muestra la matriz principal. La segunda salida muestra la matriz reformada.

Ejemplo 3: remodelar la matriz NumPy según el pedido

El siguiente ejemplo muestra la función reshape () para convertir una matriz NumPy unidimensional en una matriz NumPy bidimensional con diferentes tipos de órdenes. La función arange () se utiliza en el script para crear una matriz unidimensional de 15 elementos. La primera función reshape () se utiliza para crear una matriz bidimensional de 3 filas y 5 columnas con un orden de estilo C. La segunda función reshape () se usa para crear una matriz bidimensional de 3 filas y 5 columnas con un orden de estilo Fortran.

# Importar NumPy
importar numpy como np
# Crea una matriz NumPy de valores de rango
np_array = np.naranja (15)
# Imprime los valores de la matriz NumPy
print ("Los valores de la matriz NumPy: \ n", np_array)
# Remodelar la matriz según el orden de estilo C
new_array1 = np.remodelar (np_array, (3, 5), order = 'C')
# Imprime los valores remodelados
print ("\ nLos valores de matriz 2D remodelados basados ​​en el orden de estilo C son: \ n", new_array1)
# Remodelar la matriz según el orden al estilo Fortran
new_array2 = np.remodelar (np_array, (3, 5), order = 'F')
# Imprime los valores remodelados
print ("\ nLos valores de matriz 2D remodelados basados ​​en el orden al estilo Fortran son: \ n", new_array2)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La primera salida muestra la matriz principal de valores. La segunda salida muestra los valores de la matriz con un orden basado en filas. La tercera salida muestra los valores de la matriz con un orden basado en columnas.

Conclusión

Las formas de convertir la matriz de una forma a otra mediante la función reshape () se han descrito en este tutorial. El propósito de usar la función reshape () se borrará después de practicar los ejemplos de este tutorial, y los lectores podrán usar esta función en su script de Python.

OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...