Operaciones 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.
1234567891011import 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}')
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:
123456789101112import 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}')
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):
123456789101112import 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}')
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.
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
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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?
Awesome!
Completion rate improved to 3.7
Operaciones 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.
1234567891011import 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}')
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:
123456789101112import 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}')
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):
123456789101112import 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}')
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.
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
¡Gracias por tus comentarios!
single