"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se puede utilizar \'np.newaxis\' de NumPy para habilitar la transmisión en operaciones de matriz?

¿Cómo se puede utilizar \'np.newaxis\' de NumPy para habilitar la transmisión en operaciones de matriz?

Publicado el 2024-11-08
Navegar:891

How can NumPy\'s \'np.newaxis\' be used to enable broadcasting in array operations?

Qué es 'np.newaxis' de NumPy y cómo usarlo

Comprensión de 'np.newaxis'

'np.newaxis' de NumPy, también conocido como 'Ninguno', es un pseudoíndice utilizado para agregar temporalmente un eje a un matriz. Cuando se usa una vez, aumenta la dimensión de la matriz en uno. Por ejemplo, una matriz 1D se convierte en una matriz 2D, una matriz 2D se convierte en una matriz 3D, y así sucesivamente.

Escenarios para usar 'np.newaxis'

Escenario 1: creación de vectores de fila/columna a partir de matrices 1D

'np.newaxis' se puede utilizar para convierta explícitamente una matriz 1D en un vector de fila (insertando un eje a lo largo de la primera dimensión) o un vector de columna (insertando un eje a lo largo de la segunda dimensión).

Escenario 2: Habilitación de NumPy Broadcasting

'np.newaxis' se vuelve útil cuando se realizan operaciones que involucran la transmisión NumPy. Por ejemplo, considere agregar dos matrices con las formas '(5,)' y '(3,)'. NumPy generará un error debido a formas incompatibles. Al usar 'np.newaxis' para aumentar la dimensión de una matriz, se puede habilitar la transmisión para realizar la operación.

Escenario 3: Promoción de matrices a dimensiones más altas

'np.newaxis' se puede usar varias veces para promover matrices a dimensiones más altas, lo que puede ser necesario para matrices de orden superior (tensores).

Uso Ejemplos

Para usar 'np.newaxis', insértelo en la expresión de corte. Por ejemplo:

# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]

Para habilitar la transmisión:

# Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new   x2

Alternativa: 'np.expand_dims'

'np.expand_dims' es una alternativa a 'np.newaxis' que proporciona un 'eje' intuitivo kwarg para especificar el punto de inserción del nuevo eje.

Adicional Notas

  • 'np.newaxis' agrega temporalmente un eje, a diferencia de 'np.reshape' que remodela la matriz con un nuevo diseño.
  • 'np.newaxis' y 'Ninguno' son objetos equivalentes.
Último tutorial Más>

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