Ir al contenido principal

Numpy, una librería para cálculo numérico y análisis de datos

Numpy ayuda con el tratamiento de datos y el cálculo numérico. Es similar a la librería Pandas y la complementa.

Es fundamental para el cálculo numérico y el manejo de arrays multidimensionales. Es ampliamente utilizada en ciencia de datos, machine learning, y computación científica.

Instalación:

$ pip install numpy

Verificar instalación:

$ pip list

Podemos crear un script para verificar que se ha instalado:

verify.py

import numpy as np
print(np.__version__)

Ejecutando el script:

$ py verify.py

Veremos la versión instalada.

¿Qué se puede hacer con Numpy?

1. Estructuras de datos: Arrays

Crear arrays multidimensionales (ndarrays) para almacenar datos numéricos. Ejemplo:
np.array([1, 2, 3]) 
np.array([[1, 2], [3, 4]])
Soporta arrays de cualquier dimensión (1D, 2D, 3D, etc.). Operaciones vectorizadas: cálculos rápidos sin bucles explícitos.

2. Operaciones matemáticas.

Aritmética: Suma, resta, multiplicación, división, etc., elemento por elemento. 
Ejemplo:
arr1 + arr2, arr * 2
Funciones matemáticas: Seno, coseno, exponencial, logaritmo, etc. 
Ejemplo:
np.sin(arr)
np.exp(arr)
Estadísticas: Media, mediana, desviación estándar, etc. 
  Ejemplo:
np.mean(arr) 
np.std(arr)

3. Manipulación de arrays.

Reshape y redimensionamiento: 
Cambiar la forma de un array. 
 Ejemplo:
arr.reshape(2, 3) 
(de 1D a 2D) 
Indexación y segmentación: 
Acceder a elementos o subarrays. 
Ejemplo:
arr[0, 1]
arr[1:3]
Concatenación y división: Unir o dividir arrays. Ejemplo:
np.concatenate([arr1, arr2])
np.split(arr, 2)

4. Álgebra lineal

Operaciones con matrices: Producto punto, transposición, inversa, etc. Ejemplo:
np.dot(arr1, arr2)
np.linalg.inv(matrix)
Resolución de sistemas lineales:
np.linalg.solve(A, b)
Cálculo de determinantes, valores propios, etc. Ejemplo:
np.linalg.det(matrix)

5. Generación de datos.

Crear arrays con valores específicos: 
Secuencias:
np.arange(0, 10, 2)
np.linspace(0, 1, 5)
Valores constantes:
np.zeros((2, 3))
np.ones((2, 3))
Valores aleatorios:
np.random.rand(2, 3)
np.random.randint(0, 10, size=(2, 3))

6. Operaciones lógicas y filtrado.

Filtrar datos con condiciones:
arr[arr > 5]
Operaciones lógicas:
np.logical_and(arr > 0, arr < 10)

7. Eficiencia y rendimiento.

Operaciones optimizadas para grandes volúmenes de datos (mucho más rápido que listas de Python). Soporte para cálculos en paralelo y uso eficiente de memoria.

8. Interoperabilidad.

Integración con otras librerías como Pandas, SciPy, Matplotlib, y Scikit-learn. 
Ejemplo: Convertir un array de NumPy a un DataFrame de Pandas:
pd.DataFrame(arr)

Veamos un ejemplo.

ejemplo.py

import numpy as np

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

# Operaciones
print(arr + 10)  # Suma 10 a cada elemento
print(np.mean(arr, axis=1))  # Media por fila
print(np.dot(arr, arr.T))  # Producto matricial

Ejecutamos:

$ py ejemplo.py

Salida:

[[11 12 13]
 [14 15 16]]
[2. 5.]
[[14 32]
 [32 77]]

En conclusión, NumPy es la base para muchas otras librerías científicas en Python y es ideal para trabajar con datos numéricos de forma eficiente.

Enlaces:

https://numpy.org/


Comentarios

Entradas populares de este blog

Odin language: el lenguaje de programación orientado a datos para un desarrollo de software sensato

En esta serie sobre lenguajes de programación hablamos de Odin , un lenguaje orientado a datos. Un nuevo lenguaje de programación que nos podrá recordar a lenguajes como C++, Python, Golang o hasta Rust. Instalación (Windows): 1 2 3 4 $ git clone https://github.com/odin-lang/Odin $ cd Odin $ git pull $ build.bat release Debemos asegurarnos de crear la variable de entorno: Nombre: ODIN_HOME Valor: C:\Users\HP\Documents\pruebasOdin\Odin Ejemplo 1. Como primer programa tendremos al clásico "Hola, mundo". holamundo.odin package holamundo import " core:fmt " main : : proc ( ) { fmt . println ( " ¡Hola, mundo desde Odin! " ) } Construimos: $ odin build holamundo . odin - file Ejecutamos: $ holamundo .exe Recordar que si usamos Visual Studio Code podemos instalar el plugin de Odin Language: https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols Ejemplo 2. Programa que muestre las variables que pod...

Programación Windows Batch (CMD) parte 3

Crear ciclos para efectuar operaciones tediosas nos ahorrará tiempo para realizar otras tareas. En está ocasión veremos ciclos con FOR . ¿Cuál es la síntaxis de bucle FOR en Windows Batch? Si está dentro de un archivo *.bat : FOR %%variable IN (seq) DO operaciones Si lo ejecutamos en una terminal: FOR %variable IN (seq) DO operaciones Ejemplo 1 . Recorrer una secuencia de números del 0 al 5: recorrer.bat @ echo off FOR %%i in ( 0 1 2 3 4 5 ) DO echo Hola no. %%i pause Nos imprimirá en pantalla: Hola no. 0 Hola no. 1 Hola no. 2 Hola no. 3 Hola no. 4 Hola no. 5 ¿Puedo usar contadores? Si, se pueden usar. Ejemplo 2 . Uso de contadores: contador.bat @ echo off set numeros = 1 2 3 4 5 6 7 8 9 10 set cont = 0 for %%a in ( %numeros% ) do ( echo Hola no. %%a :: Contador set /a cont+ = 1 ) echo Total: %cont% Este código nos imprimirá, además de los mensajes Hola no. 0 ..., el total de valores conta...

z/OS, ¿Qué es? y ¿Cuáles son sus herramientas?

  En este post veremos las herramientas de z/OS de IBM. z/OS es un sistema operativo de mainframe desarrollado por IBM.  Es parte de la serie IBM z Systems (anteriormente conocida como System z), que se utiliza en los sistemas mainframe de IBM. z/OS es uno de los sistemas operativos más utilizados en el mundo empresarial para ejecutar aplicaciones críticas y procesar grandes volúmenes de datos. Características clave de z/OS: Escalabilidad : z/OS es conocido por su capacidad para manejar grandes cargas de trabajo y escalabilidad vertical, lo que permite agregar recursos de hardware para satisfacer las demandas de procesamiento. Confiabilidad y disponibilidad : z/OS está diseñado para ofrecer alta disponibilidad y confiabilidad. Incorpora características como redundancia y recuperación ante fallas para garantizar la continuidad de las operaciones. Seguridad : Proporciona una amplia gama de funciones de seguridad, como autenticación, autorización y auditoría, para proteger los...