Operaciones de arreglos de NumPy

NumPyBeginner
Practicar Ahora

Introducción

NumPy es una biblioteca de Python utilizada para el cálculo numérico. Está diseñada para trabajar con matrices y arreglos, lo que la convierte en una herramienta poderosa para el cálculo científico. En este laboratorio, aprenderá los siguientes tres temas relacionados con las operaciones de arreglos de NumPy:

  1. Operaciones matemáticas
  2. Difusión (Broadcasting)
  3. Funciones universales
Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de reseñas positivas del 97% por parte de los estudiantes.

Operaciones matemáticas

NumPy proporciona una variedad de operaciones matemáticas para matrices. Estas operaciones se pueden realizar en una o más matrices.

Abrir la consola de Python

Abra la consola de Python escribiendo el siguiente comando en la terminal.

python3

Importar NumPy

NumPy ya está instalado, puede importarlo en su código de Python:

import numpy as np

Operaciones elemento a elemento

Las operaciones elemento a elemento son operaciones realizadas en cada elemento de la matriz.

Vamos a crear dos matrices y realizar algunas operaciones elemento a elemento:

## Creando dos matrices
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8])

## Sumar dos matrices
print("Sumar dos matrices: ", arr1 + arr2)

## Restar dos matrices
print("Restar dos matrices: ", arr1 - arr2)

## Multiplicar dos matrices
print("Multiplicar dos matrices: ", arr1 * arr2)

## Dividir dos matrices
print("Dividir dos matrices: ", arr1 / arr2)

## Encontrar el residuo después de la división de dos matrices
print("Módulo de dos matrices: ", arr1 % arr2)

## Elevar los elementos de una matriz a una potencia
print("Elevar una matriz a una potencia: ", arr1 ** 2)

Salida:

Sumar dos matrices:  [ 6  8 10 12]
Restar dos matrices:  [-4 -4 -4 -4]
Multiplicar dos matrices:  [ 5 12 21 32]
Dividir dos matrices:  [0.2        0.33333333 0.42857143 0.5       ]
Módulo de dos matrices:  [1 2 3 4]
Elevar una matriz a una potencia:  [ 1  4  9 16]

Operaciones en toda la matriz

Las operaciones en toda la matriz son operaciones realizadas en toda la matriz.

Vamos a crear una matriz y realizar algunas operaciones en toda la matriz:

## Creando una matriz
arr = np.array([1, 2, 3, 4])

## Encontrar la suma de todos los elementos de la matriz
print("Suma de la matriz: ", np.sum(arr))

## Encontrar el producto de todos los elementos de la matriz
print("Producto de la matriz: ", np.prod(arr))

## Encontrar el elemento mínimo de la matriz
print("Elemento mínimo de la matriz: ", np.min(arr))

## Encontrar el elemento máximo de la matriz
print("Elemento máximo de la matriz: ", np.max(arr))

## Encontrar el promedio de todos los elementos de la matriz
print("Promedio de la matriz: ", np.mean(arr))

## Encontrar la desviación estándar de todos los elementos de la matriz
print("Desviación estándar de la matriz: ", np.std(arr))

Salida:

Suma de la matriz:  10
Producto de la matriz:  24
Elemento mínimo de la matriz:  1
Elemento máximo de la matriz:  4
Promedio de la matriz:  2.5
Desviación estándar de la matriz:  1.118033988749895

Difusión (Broadcasting)

La difusión (Broadcasting) es una característica de NumPy que permite realizar operaciones elemento a elemento entre matrices con diferentes formas. La difusión es especialmente útil cuando se trabaja con matrices de diferentes dimensiones.

Vamos a crear una matriz y realizar algunas operaciones de difusión:

## Creando dos matrices de diferentes formas
array1 = np.array([1, 2, 3])
array2 = np.array([[4, 5, 6], [7, 8, 9]])

## Difundiendo la matriz más pequeña a la matriz más grande
print("Sumando dos matrices usando difusión: ", array1 + array2)

print("Restando dos matrices usando difusión: ", array1 - array2)

print("Multiplicando dos matrices usando difusión: ", array1 * array2)

print("Dividiendo dos matrices usando difusión: ", array1 / array2)

Salida:

Sumando dos matrices usando difusión:  [[ 5  7  9]
                                         [ 8 10 12]]

Restando dos matrices usando difusión:  [[-3 -3 -3]
                                              [-6 -6 -6]]

Multiplicando dos matrices usando difusión:  [[ 4 10 18]
                                              [7 16 27]]

Dividiendo dos matrices usando difusión:  [[0.25       0.4        0.5       ]
                                           [0.14285714 0.25       0.33333333]]

En el código anterior, creamos dos matrices, array1 con la forma (3,) y array2 con la forma (2,3). Realizamos operaciones elemento a elemento entre array1 y array2, gracias a la característica de difusión en NumPy. La matriz más pequeña, array1, se difunde a la matriz más grande, array2, para realizar operaciones elemento a elemento. La difusión hace posible realizar operaciones en matrices con diferentes formas.

Funciones universales

Las funciones universales, o ufuncs, son funciones que operan sobre matrices de manera elemento a elemento. Proporcionan operaciones rápidas y eficientes en matrices.

Vamos a crear una matriz y realizar algunas ufuncs:

## Creando una matriz
arr = np.array([1, 2, 3, 4])

## Encontrando la raíz cuadrada de cada elemento de la matriz
print("Raíz cuadrada de la matriz: ", np.sqrt(arr))

## Encontrando el exponencial de cada elemento de la matriz
print("Exponencial de la matriz: ", np.exp(arr))

## Encontrando el seno de cada elemento de la matriz
print("Seno de la matriz: ", np.sin(arr))

## Encontrando el coseno de cada elemento de la matriz
print("Coseno de la matriz: ", np.cos(arr))

## Encontrando el logaritmo natural de cada elemento de la matriz
print("Logaritmo natural de la matriz: ", np.log(arr))

Salida:

Raíz cuadrada de la matriz:  [1.         1.41421356 1.73205081 2.        ]
Exponencial de la matriz:  [ 2.71828183  7.3890561  20.08553692 54.59815003]
Seno de la matriz:  [ 0.84147098  0.90929743  0.14112001 -0.7568025 ]
Coseno de la matriz:  [ 0.54030231 -0.41614684 -0.9899925  -0.65364362]
Logaritmo natural de la matriz:  [0.         0.69314718 1.09861229 1.38629436]

Resumen

¡Felicitaciones! Ahora has aprendido sobre las operaciones de arreglos de NumPy, incluyendo Operaciones Matemáticas, Difusión (Broadcasting) y Funciones Universales. Con este conocimiento, ahora puedes realizar una amplia variedad de tareas de cálculo numérico con Python.