Numpy: Operaciones con arrays

Aprende a realizar operaciones con arrays en Numpy. Guía detallada y actualizada para manejar arrays en Python usando Numpy.

Una de sus funcionalidades más destacadas es la capacidad de realizar operaciones con arrays de manera eficiente. En esta sección, exploraremos cómo trabajar con arrays en Numpy, desde la creación hasta la manipulación y operaciones avanzadas.

Creación de arrays

Para empezar a trabajar con arrays en Numpy, primero debemos importarla y crear algunos arrays básicos:

import numpy as np

# Crear un array unidimensional
array_1d = np.array([1, 2, 3, 4, 5])

# Crear un array bidimensional
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Crear un array de ceros
array_zeros = np.zeros((3, 3))

# Crear un array de unos
array_ones = np.ones((2, 4))

Operaciones aritméticas básicas

Numpy permite realizar operaciones aritméticas elementales de manera sencilla y eficiente:

# Suma
suma = array_1d + 10

# Resta
resta = array_1d - 2

# Multiplicación
multiplicacion = array_1d * 3

# División
division = array_1d / 2

Estas operaciones se aplican elemento por elemento, lo que facilita el procesamiento de datos en masa.

Operaciones con arrays de diferentes dimensiones

Una de las características más útiles de Numpy es la capacidad de realizar operaciones entre arrays de diferentes dimensiones mediante broadcasting:

array_a = np.array([[1, 2, 3], [4, 5, 6]])
array_b = np.array([1, 2, 3])

# Broadcasting: suma de array bidimensional y unidimensional
resultado = array_a + array_b

En este ejemplo, array_b se expande para coincidir con la forma de array_a, permitiendo la operación entre ambos arrays.

Funciones matemáticas

Numpy incluye una amplia variedad de funciones matemáticas para realizar operaciones complejas:

# Raíz cuadrada
raiz_cuadrada = np.sqrt(array_1d)

# Exponencial
exponencial = np.exp(array_1d)

# Logaritmo natural
logaritmo = np.log(array_1d)

Estas funciones son altamente optimizadas y aprovechan las capacidades de procesamiento del hardware.

Agregación y reducción

Numpy también ofrece funciones para realizar operaciones de agregación y reducción, como sumas, promedios y productos:

# Suma de todos los elementos
suma_total = np.sum(array_1d)

# Promedio de los elementos
promedio = np.mean(array_1d)

# Producto de todos los elementos
producto_total = np.prod(array_1d)

Estas operaciones pueden aplicarse a arrays de cualquier dimensión y pueden especificarse a lo largo de un eje particular:

# Suma a lo largo del eje 0 (columnas)
suma_eje_0 = np.sum(array_2d, axis=0)

# Suma a lo largo del eje 1 (filas)
suma_eje_1 = np.sum(array_2d, axis=1)

Indexación y slicing

La indexación y el slicing son fundamentales para manipular arrays y extraer subarrays:

# Acceder a un elemento específico
elemento = array_2d[1, 2]

# Slicing para extraer una submatriz
submatriz = array_2d[0:2, 1:3]

Manipulación de la forma del array

Cambiar la forma de un array es una operación común en Numpy:

# Reshape: cambiar la forma del array
array_reshaped = array_1d.reshape((5, 1))

# Transposición de un array
array_transposed = array_2d.T

Estas operaciones permiten ajustar los datos a las necesidades específicas de cada análisis.

Trabajar con arrays en Numpy es una habilidad fundamental para cualquier ingeniero de software que maneje grandes volúmenes de datos. La eficiencia y flexibilidad que ofrece esta librería la convierten en una herramienta indispensable en el ecosistema de Python.

Certifícate en Numpy con CertiDevs PLUS

Lecciones de este módulo de Numpy

Lecciones de programación del módulo Operaciones con arrays del curso de Numpy.

Ejercicios de programación en este módulo de Numpy

Evalúa tus conocimientos en Operaciones con arrays con ejercicios de programación Operaciones con arrays de tipo Test, Puzzle, Código y Proyecto con VSCode.