Comprender la función de -1 en Numpy Reshape
En Numpy, el método reshape() permite la transformación de formas de matriz. Cuando se trabaja con matrices 2D, es posible remodelarlas en matrices 1D usando remodelar(-1). Por ejemplo:
import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) a.reshape(-1) # Output: array([[1, 2, 3, 4, 5, 6, 7, 8]])
Normalmente, matriz[-1] significa el elemento final de una matriz. Sin embargo, en el contexto de reshape(-1), esto tiene un significado diferente.
El parámetro -1 en Reshape
El parámetro -1 en reshape(- 1) sirve como dimensión comodín. Indica que la dimensión correspondiente de la nueva forma debe determinarse automáticamente. Esto se hace satisfaciendo el criterio de que la nueva forma debe alinearse con la forma de la matriz original, preservando su dimensión lineal.
Numpy permite el uso de -1 en uno de los parámetros de la forma, lo que permite especificar dimensiones desconocidas . Por ejemplo, (-1, 3) o (2, -1) son formas válidas, mientras que (-1, -1) no lo es.
Ejemplos de remodelación (-1)
Considere la siguiente matriz:
z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) z.shape # (3, 4)
Reformar usando (-1):
z.reshape(-1) # Output: array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) # New shape: (12,)
Remodelación usando (-1, 1) (función única):
z.reshape(-1, 1) # Output: array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], # [11], [12]]) # New shape: (12, 1)
Reformar usando (-1, 2) (Fila única):
z.reshape(1, -1) # Output: array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]) # New shape: (1, 12)
Reformar usando (2, -1):
z.reshape(2, -1) # Output: array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12]]) # New shape: (2, 6)
Reformar usando (3, -1) (Forma original):
z.reshape(3, -1) # Output: array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # New shape: (3, 4)
Tenga en cuenta que especificar ambas dimensiones como -1, es decir, (-1, -1), generará un error.
Al comprender el significado de -1 en reshape(), los desarrolladores pueden transformar eficazmente las formas de las matrices para satisfacer sus necesidades específicas de procesamiento de datos en Numpy.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3