NumPy es una biblioteca fundamental para la computación científica en Python. Proporciona soporte para arrays multidimensionales y matrices, junto con una colección de funciones matemáticas para operar con estos arrays de manera eficiente.

Contenido

  1. Introducción a NumPy
  2. Instalación de NumPy
  3. Arrays en NumPy
  4. Operaciones Básicas con Arrays
  5. Indexación y Slicing
  6. Manipulación de Arrays
  7. Funciones Matemáticas en NumPy
  8. Ejercicios Prácticos

  1. Introducción a NumPy

NumPy, que significa Numerical Python, es una biblioteca que añade soporte para grandes, matrices y arrays multidimensionales, junto con una amplia colección de funciones matemáticas de alto nivel para operar con estos arrays.

  1. Instalación de NumPy

Para instalar NumPy, puedes usar pip, el gestor de paquetes de Python:

pip install numpy

  1. Arrays en NumPy

Los arrays son la estructura de datos principal en NumPy. A continuación, se muestra cómo crear arrays básicos:

Ejemplo: Creación de Arrays

import numpy as np

# Crear un array unidimensional
array_1d = np.array([1, 2, 3, 4, 5])
print("Array 1D:", array_1d)

# Crear un array bidimensional
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("Array 2D:\n", array_2d)

Explicación

  • np.array([1, 2, 3, 4, 5]) crea un array unidimensional.
  • np.array([[1, 2, 3], [4, 5, 6]]) crea un array bidimensional.

  1. Operaciones Básicas con Arrays

NumPy permite realizar operaciones matemáticas básicas de manera eficiente.

Ejemplo: Operaciones Básicas

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# Suma de arrays
suma = a + b
print("Suma:", suma)

# Producto de arrays
producto = a * b
print("Producto:", producto)

# Producto escalar
producto_escalar = np.dot(a, b)
print("Producto Escalar:", producto_escalar)

Explicación

  • a + b suma los elementos correspondientes de los arrays a y b.
  • a * b multiplica los elementos correspondientes de los arrays a y b.
  • np.dot(a, b) calcula el producto escalar de los arrays a y b.

  1. Indexación y Slicing

La indexación y el slicing en NumPy son similares a las listas de Python, pero con más funcionalidades.

Ejemplo: Indexación y Slicing

import numpy as np

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

# Indexación
print("Elemento en la posición 0:", array[0])

# Slicing
print("Elementos del 1 al 4:", array[1:5])

Explicación

  • array[0] accede al primer elemento del array.
  • array[1:5] obtiene una porción del array desde el índice 1 hasta el 4 (excluyendo el 5).

  1. Manipulación de Arrays

NumPy proporciona varias funciones para manipular arrays, como cambiar su forma, concatenar, dividir, etc.

Ejemplo: Manipulación de Arrays

import numpy as np

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

# Cambiar la forma del array
array_reshaped = array.reshape((3, 2))
print("Array Reestructurado:\n", array_reshaped)

# Concatenar arrays
array_concatenado = np.concatenate((array, array), axis=0)
print("Array Concatenado:\n", array_concatenado)

Explicación

  • array.reshape((3, 2)) cambia la forma del array a 3 filas y 2 columnas.
  • np.concatenate((array, array), axis=0) concatena dos arrays a lo largo del eje 0 (filas).

  1. Funciones Matemáticas en NumPy

NumPy incluye una amplia gama de funciones matemáticas para realizar operaciones en arrays.

Ejemplo: Funciones Matemáticas

import numpy as np

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

# Calcular la suma de los elementos
suma = np.sum(array)
print("Suma de los elementos:", suma)

# Calcular la media de los elementos
media = np.mean(array)
print("Media de los elementos:", media)

# Calcular la desviación estándar
desviacion_estandar = np.std(array)
print("Desviación Estándar:", desviacion_estandar)

Explicación

  • np.sum(array) calcula la suma de todos los elementos del array.
  • np.mean(array) calcula la media de los elementos del array.
  • np.std(array) calcula la desviación estándar de los elementos del array.

  1. Ejercicios Prácticos

Ejercicio 1: Creación y Manipulación de Arrays

Problema:

  1. Crea un array unidimensional con los números del 1 al 10.
  2. Cambia la forma del array a una matriz de 2x5.
  3. Calcula la suma de todos los elementos de la matriz.

Solución:

import numpy as np

# Paso 1: Crear un array unidimensional
array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Paso 2: Cambiar la forma del array a una matriz de 2x5
matriz = array.reshape((2, 5))
print("Matriz 2x5:\n", matriz)

# Paso 3: Calcular la suma de todos los elementos de la matriz
suma = np.sum(matriz)
print("Suma de los elementos de la matriz:", suma)

Ejercicio 2: Operaciones Matemáticas

Problema:

  1. Crea dos arrays unidimensionales con los números del 1 al 5 y del 6 al 10.
  2. Calcula el producto escalar de los dos arrays.
  3. Calcula la media de los elementos del primer array.

Solución:

import numpy as np

# Paso 1: Crear dos arrays unidimensionales
array1 = np.array([1, 2, 3, 4, 5])
array2 = np.array([6, 7, 8, 9, 10])

# Paso 2: Calcular el producto escalar de los dos arrays
producto_escalar = np.dot(array1, array2)
print("Producto Escalar:", producto_escalar)

# Paso 3: Calcular la media de los elementos del primer array
media = np.mean(array1)
print("Media del primer array:", media)

Conclusión

En esta sección, hemos explorado las capacidades de NumPy para la computación numérica en Python. Hemos aprendido a crear y manipular arrays, realizar operaciones matemáticas básicas y utilizar funciones avanzadas de NumPy. Estos conocimientos son fundamentales para trabajar con datos numéricos de manera eficiente en Python y sientan las bases para temas más avanzados en ciencia de datos y análisis numérico.

Curso de Programación en Python

Módulo 1: Introducción a Python

Módulo 2: Estructuras de Control

Módulo 3: Funciones y Módulos

Módulo 4: Estructuras de Datos

Módulo 5: Programación Orientada a Objetos

Módulo 6: Manejo de Archivos

Módulo 7: Manejo de Errores y Excepciones

Módulo 8: Temas Avanzados

Módulo 9: Pruebas y Depuración

Módulo 10: Desarrollo Web con Python

Módulo 11: Ciencia de Datos con Python

Módulo 12: Proyecto Final

© Copyright 2024. Todos los derechos reservados