typestar

Broadcasting, con precisión en Python

Las formas se alinean desde la derecha; una dimensión de uno se estira.

import numpy as np

filas = np.arange(3).reshape(3, 1)
columnas = np.arange(4).reshape(1, 4)

print((filas + columnas).shape)
print(filas + columnas)

valores = np.arange(3)
print((valores[:, np.newaxis] * valores).shape)
print(np.broadcast_shapes((3, 1), (1, 4), (3, 4)))

Cómo funciona

  1. Las dimensiones finales deben coincidir o ser 1.
  2. newaxis inserta el 1 que necesitas para que eso se cumpla.
  3. broadcast_shapes responde la pregunta sin reservar memoria.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
272
Tokens
100
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 4 de 4 en Tipos y formas; paso 12 de 22 en NumPy.

← Anterior Siguiente →