NumPy – trabajo con arreglos y matrices

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

html

Introducción a NumPy: Base para la computación científica en Python

NumPy es una biblioteca fundamental de Python para la computación científica. Proporciona un potente soporte para arreglos y matrices multidimensionales, así como una amplia gama de funciones para trabajar con ellos. NumPy es una herramienta indispensable para analistas de datos, especialistas en machine learning e investigadores científicos.

NumPy permite procesar eficientemente grandes volúmenes de datos y realizar operaciones matemáticas, reemplazando bucles con código compacto y vectorizado. La biblioteca incluye funciones integradas para álgebra lineal y estadística.

Instalación e importación de la biblioteca NumPy

Para empezar a trabajar con NumPy, es necesario instalarla e importarla en tu proyecto.

Instalación de NumPy

La instalación de la biblioteca se realiza con ayuda de

Manejo de valores faltantes (NaN)

Para trabajar con valores faltantes, NumPy utiliza np.nan.

arr = np.array([1, 2, np.nan, 4, 5])
print(np.isnan(arr)) # [False False  True False False]

Para manejar NaN se utilizan funciones especiales como nanmean(), nanstd(), nansum(), que ignoran los valores faltantes.

Rendimiento de NumPy frente a Python puro

NumPy está escrito en C y funciona significativamente más rápido que Python puro, especialmente al realizar operaciones sobre grandes arreglos. Esto se debe a la eficiente vectorización y optimización.

import time
import numpy as np

size = 100000

# Python list
lista = list(range(size))
listb = list(range(size))

starttime = time.time()
resultpython = [a + b for a, b in zip(lista, listb)]
pythontime = time.time() - starttime

# NumPy array
anp = np.arange(size)
bnp = np.arange(size)

starttime = time.time()
resultnumpy = anp + bnp
numpytime = time.time() - starttime

print(f"Python time: {pythontime:.4f} seconds")
print(f"NumPy time: {numpytime:.4f} seconds")

La diferencia de rendimiento puede alcanzar decenas y cientos de veces en grandes volúmenes de datos.

Casos de uso reales de NumPy

NumPy se utiliza en diversas áreas:

  • Ciencia: procesamiento de datos experimentales
  • Finanzas: análisis de series temporales
  • Machine learning: preparación y normalización de datos, modelado
  • Gráficos por computadora: trabajo con imágenes
  • Educación: visualización de funciones matemáticas y algoritmos

Preguntas frecuentes (FAQ)

¿En qué se diferencia un arreglo de NumPy de una lista de Python?

Un arreglo de NumPy es una estructura de datos que almacena números en forma de tablas (tensores), tiene un tipo de dato fijo y admite operaciones vectorizadas. La lista de Python es más flexible, pero menos eficiente para cálculos numéricos.

¿Cómo crear una matriz de ceros de tamaño 3x3?

matrix = np.zeros((3, 3))

¿Cómo transponer una matriz?

transposedmatrix = matrix.T

¿Cómo multiplicar matrices?

result = matrix1 @ matrix2

¿Cómo encontrar la matriz inversa?

inversedmatrix = np.linalg.inv(matrix)

Categorías principales de funciones de NumPy

NumPy proporciona un amplio conjunto de funciones para diversas tareas:

  • Creación de arreglos: NumPy ofrece múltiples funciones para crear e inicializar arreglos con diferentes valores iniciales (ceros, unos, números aleatorios, etc.).
  • Operaciones matemáticas: La biblioteca admite numerosas operaciones matemáticas sobre arreglos, incluyendo operaciones aritméticas, funciones estadísticas y funciones de álgebra lineal.
  • Funciones de álgebra lineal: NumPy proporciona funciones para realizar operaciones de álgebra lineal, como multiplicación de matrices, cálculo de valores propios, etc.
  • Funciones trigonométricas y logarítmicas: La biblioteca ofrece fun

Recommendations