Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Transmisión | Matemáticas con NumPy
course content

Contenido del Curso

Ultimate NumPy

TransmisiónTransmisión

Antes de sumergirnos en las operaciones matemáticas en NumPy vamos a echar un vistazo más de cerca a un concepto importante, broadcasting.

Como ya hemos mencionado antes, broadcasting permite operaciones elemento a elemento entre arrays de formas compatibles extendiendo el array de menor dimensión para que tenga el mismo número de dimensiones que el array de mayor dimensión.

Si dos matrices ya tienen el mismo número de dimensiones, no es necesario extenderlas.

Así es como se determina la compatibilidad de formas: dadas dos matrices, NumPy compara sus formas elemento a elemento. Comienza mirando las dimensiones de la derecha y se mueve hacia la izquierda.

Dos dimensiones se consideran compatibles cuando se cumple una de las condiciones:

  • son del mismo tamaño (iguales);
  • una de las dimensiones es 1.

Dos formas se consideran compatibles cuando todas sus dimensiones respectivas son compatibles.

Nota

Cuando se comprueba la compatibilidad de las formas, y una matriz tiene más dimensiones que la otra, se supone que las dimensiones que faltan tienen el tamaño igual a 1.

No te preocupes, aquí tienes algunos ejemplos para aclarar las cosas:

Broadcasting a scalar to a 1D array

Como puedes ver, un escalar en nuestro ejemplo se transmite a un array 1D.

Determining Compatibility of Shapes

Given two arrays, NumPy checks their shapes to determine if they can be broadcast together. Here's how it works:

  1. Shape Comparison: NumPy compares the shapes of the two arrays starting from the rightmost dimension and moving left;
  2. Compatibility Conditions: Two dimensions are considered compatible if:
    • They are the same size (equal);
    • One of the dimensions is 1.
  3. Handling Different Number of Dimensions: If one array has fewer dimensions than the other, the missing dimensions are treated as having size 1.

Don't worry, here are some examples to clarify things:

Broadcasting a scalar to a 1D array

As you can see, a scalar in our example is broadcast to a 1D array.

Broadcasting a scalar to a 2D array

Now a scalar is broadcast to a 2D array. In fact, a scalar is always compatible to an array of any shape

Broadcasting a 1D array to a 2D array

En este ejemplo, un array 1D se transmite a un array 2D, ya que sus formas son compatibles.

Non-compatible shapes

Aquí tenemos un arreglo unidimensional con una forma incompatible con nuestro arreglo bidimensional, debido a que sus últimas dimensiones no son iguales.

Cuando dos arreglos tienen el mismo número de dimensiones, sus formas son compatibles si las formas son iguales (las dimensiones correspondientes son iguales).

question-icon

Seleccione arreglos con formas compatibles:

Selecciona unas respuestas correctas

¿Todo estuvo claro?

Sección 4. Capítulo 1
course content

Contenido del Curso

Ultimate NumPy

TransmisiónTransmisión

Antes de sumergirnos en las operaciones matemáticas en NumPy vamos a echar un vistazo más de cerca a un concepto importante, broadcasting.

Como ya hemos mencionado antes, broadcasting permite operaciones elemento a elemento entre arrays de formas compatibles extendiendo el array de menor dimensión para que tenga el mismo número de dimensiones que el array de mayor dimensión.

Si dos matrices ya tienen el mismo número de dimensiones, no es necesario extenderlas.

Así es como se determina la compatibilidad de formas: dadas dos matrices, NumPy compara sus formas elemento a elemento. Comienza mirando las dimensiones de la derecha y se mueve hacia la izquierda.

Dos dimensiones se consideran compatibles cuando se cumple una de las condiciones:

  • son del mismo tamaño (iguales);
  • una de las dimensiones es 1.

Dos formas se consideran compatibles cuando todas sus dimensiones respectivas son compatibles.

Nota

Cuando se comprueba la compatibilidad de las formas, y una matriz tiene más dimensiones que la otra, se supone que las dimensiones que faltan tienen el tamaño igual a 1.

No te preocupes, aquí tienes algunos ejemplos para aclarar las cosas:

Broadcasting a scalar to a 1D array

Como puedes ver, un escalar en nuestro ejemplo se transmite a un array 1D.

Determining Compatibility of Shapes

Given two arrays, NumPy checks their shapes to determine if they can be broadcast together. Here's how it works:

  1. Shape Comparison: NumPy compares the shapes of the two arrays starting from the rightmost dimension and moving left;
  2. Compatibility Conditions: Two dimensions are considered compatible if:
    • They are the same size (equal);
    • One of the dimensions is 1.
  3. Handling Different Number of Dimensions: If one array has fewer dimensions than the other, the missing dimensions are treated as having size 1.

Don't worry, here are some examples to clarify things:

Broadcasting a scalar to a 1D array

As you can see, a scalar in our example is broadcast to a 1D array.

Broadcasting a scalar to a 2D array

Now a scalar is broadcast to a 2D array. In fact, a scalar is always compatible to an array of any shape

Broadcasting a 1D array to a 2D array

En este ejemplo, un array 1D se transmite a un array 2D, ya que sus formas son compatibles.

Non-compatible shapes

Aquí tenemos un arreglo unidimensional con una forma incompatible con nuestro arreglo bidimensional, debido a que sus últimas dimensiones no son iguales.

Cuando dos arreglos tienen el mismo número de dimensiones, sus formas son compatibles si las formas son iguales (las dimensiones correspondientes son iguales).

question-icon

Seleccione arreglos con formas compatibles:

Selecciona unas respuestas correctas

¿Todo estuvo claro?

Sección 4. Capítulo 1
some-alt