Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Operaciones Matemáticas Básicas | Matemáticas con NumPy
Numpy Definitivo

bookOperaciones Matemáticas Básicas

Ahora que estás familiarizado con el concepto de broadcasting, analicemos algunas operaciones matemáticas básicas en NumPy.

Operaciones escalares

Recuerda, el broadcasting permite realizar operaciones matemáticas entre dos arreglos de formas compatibles o entre un arreglo y un escalar.

1234567891011
import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
copy

Como se puede observar, cada operación se realiza elemento por elemento en el arreglo. Esencialmente, un escalar se difunde a un arreglo de la misma forma que nuestro array, donde todos los elementos son el mismo número. Por lo tanto, la operación se realiza en cada par de elementos correspondientes de los dos arreglos.

Operaciones entre dos arreglos

Si las formas de dos arreglos son compatibles, se realiza la difusión si es necesario, y nuevamente, la operación se efectúa elemento por elemento:

123456789101112
import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
copy

La división, la resta y otras operaciones aritméticas funcionan de manera similar. Aquí tienes otro ejemplo donde el segundo (derecho) arreglo es difundido (broadcast):

123456789101112
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
copy

arr_2 se difunde (broadcast) a un arreglo 2D con dos filas idénticas, cada una conteniendo el arreglo [5, 6, 7].

Aplicaciones

Estas operaciones matemáticas son esenciales para tareas como el escalado, la normalización y la transformación de datos en aprendizaje automático y análisis estadístico. Permiten realizar operaciones eficientes elemento a elemento para combinar conjuntos de datos, ejecutar simulaciones numéricas y aplicar filtros en procesamiento de imágenes y señales. Además, estas operaciones se utilizan ampliamente en computación científica y aplicaciones basadas en datos.

Tarea

Swipe to start coding

Estás analizando los datos de ventas trimestrales de dos productos en 2021 y 2022, almacenados en dos arreglos 2D:

  • sales_data_2021: ventas trimestrales de cada producto en 2021, donde cada fila representa un producto específico;
  • sales_data_2022: ventas trimestrales de cada producto en 2022, donde cada fila representa un producto específico.

Calcula el crecimiento de ingresos trimestral para cada producto en porcentaje.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain more about how broadcasting works with arrays of different shapes?

What happens if the shapes of the arrays are not compatible for broadcasting?

Can you give more real-world examples where broadcasting is useful?

close

Awesome!

Completion rate improved to 3.7

bookOperaciones Matemáticas Básicas

Desliza para mostrar el menú

Ahora que estás familiarizado con el concepto de broadcasting, analicemos algunas operaciones matemáticas básicas en NumPy.

Operaciones escalares

Recuerda, el broadcasting permite realizar operaciones matemáticas entre dos arreglos de formas compatibles o entre un arreglo y un escalar.

1234567891011
import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
copy

Como se puede observar, cada operación se realiza elemento por elemento en el arreglo. Esencialmente, un escalar se difunde a un arreglo de la misma forma que nuestro array, donde todos los elementos son el mismo número. Por lo tanto, la operación se realiza en cada par de elementos correspondientes de los dos arreglos.

Operaciones entre dos arreglos

Si las formas de dos arreglos son compatibles, se realiza la difusión si es necesario, y nuevamente, la operación se efectúa elemento por elemento:

123456789101112
import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
copy

La división, la resta y otras operaciones aritméticas funcionan de manera similar. Aquí tienes otro ejemplo donde el segundo (derecho) arreglo es difundido (broadcast):

123456789101112
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
copy

arr_2 se difunde (broadcast) a un arreglo 2D con dos filas idénticas, cada una conteniendo el arreglo [5, 6, 7].

Aplicaciones

Estas operaciones matemáticas son esenciales para tareas como el escalado, la normalización y la transformación de datos en aprendizaje automático y análisis estadístico. Permiten realizar operaciones eficientes elemento a elemento para combinar conjuntos de datos, ejecutar simulaciones numéricas y aplicar filtros en procesamiento de imágenes y señales. Además, estas operaciones se utilizan ampliamente en computación científica y aplicaciones basadas en datos.

Tarea

Swipe to start coding

Estás analizando los datos de ventas trimestrales de dos productos en 2021 y 2022, almacenados en dos arreglos 2D:

  • sales_data_2021: ventas trimestrales de cada producto en 2021, donde cada fila representa un producto específico;
  • sales_data_2022: ventas trimestrales de cada producto en 2022, donde cada fila representa un producto específico.

Calcula el crecimiento de ingresos trimestral para cada producto en porcentaje.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
single

single

some-alt