Plataforma de datos de código abierto en Python que conecta fuentes financieras y de otros tipos y las ofrece a Python, Excel, agentes de IA y API REST.
pydata/numexpr
Evaluador rápido de expresiones sobre arrays de NumPy que calcula expresiones como 3*a+4*b en bloques, con menos memoria y varios núcleos.
- Estrellas
- 2,544
- Forks
- 233
- Issues abiertos
- 18
- Último commit
- hace 7 días
¿Qué es?
NumExpr evalúa expresiones numéricas sobre arrays de NumPy, como '3*a+4*b', más rápido y con menos memoria que al calcular lo mismo en Python puro. Evita asignar arrays temporales para los resultados intermedios y procesa los datos en bloques pequeños que caben en la caché de la CPU.
Los bloques se distribuyen entre los núcleos de CPU disponibles, por lo que los cálculos escalan a varios hilos. Las expresiones pueden usar funciones matemáticas habituales y comparaciones de arrays de cadenas. La compatibilidad con Intel MKL/VML puede acelerar aún más las funciones trascendentales si se compila con MKL.
Las mejoras de velocidad frente a NumPy dependen de la expresión y del tamaño del array; el proyecto señala que suelen ser mayores con arrays grandes y expresiones complejas.
Funciones clave
- 01Evalúa expresiones sobre arrays sin asignar temporales intermedios.
- 02Divide el trabajo en bloques del tamaño de la caché y los distribuye entre los núcleos de CPU.
- 03Admite funciones matemáticas habituales y comparaciones de arrays de cadenas.
- 04Aceleración opcional de funciones trascendentales con Intel MKL/VML.
- 05Se instala con pip o conda.
Casos de uso
- Acelerar cálculos grandes elemento a elemento sobre arrays de NumPy.
- Filtrar o calcular condiciones sobre arrays grandes, como en consultas de Pandas o PyTables.
- Reducir el uso de memoria en código numérico que trabaja intensivamente con arrays.
Inicio rápido
- 1
Instalar desde PyPI con pip
pip install numexpr - 2
También puedes instalarlo con conda si usas Anaconda o Miniconda
conda install numexpr - 3
Evaluar una expresión en arrays de NumPy
python -c "import numpy as np, numexpr as ne; a = np.arange(1e6); print(ne.evaluate('a + 1'))"
Antes de usarlo
- Las mejoras de velocidad son pequeñas para expresiones muy sencillas y funcionan mejor con arrays grandes.
- Los wheels de pip no incluyen compatibilidad con Intel MKL; MKL solo está disponible en las compilaciones de conda cuando NumPy usa MKL.
- El proyecto está buscando financiación para su futuro, por lo que el mantenimiento a largo plazo es incierto.
Temas
Preguntas frecuentes
- ¿Qué es numexpr?
- Evaluador rápido de expresiones sobre arrays de NumPy que calcula expresiones como 3*a+4*b en bloques, con menos memoria y varios núcleos. NumExpr evalúa expresiones numéricas sobre arrays de NumPy, como '3*a+4*b', más rápido y con menos memoria que al calcular lo mismo en Python puro. Evita asignar arrays temporales para los resultados intermedios y procesa los datos en bloques pequeños que caben en la caché de la CPU.
- ¿numexpr es gratuito? ¿Qué licencia tiene?
- numexpr es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿numexpr sigue mantenido?
- Mantenimiento activo. El último commit de numexpr fue el 13 oct 2026.
- ¿Para qué puedo usar numexpr?
- Acelerar cálculos grandes elemento a elemento sobre arrays de NumPy. Filtrar o calcular condiciones sobre arrays grandes, como en consultas de Pandas o PyTables. Reducir el uso de memoria en código numérico que trabaja intensivamente con arrays.
- ¿Cómo se instala numexpr?
- Instalar desde PyPI con pip: pip install numexpr También puedes instalarlo con conda si usas Anaconda o Miniconda: conda install numexpr Evaluar una expresión en arrays de NumPy: python -c "import numpy as np, numexpr as ne; a = np.arange(1e6); print(ne.evaluate('a + 1'))"
- ¿Dónde consigo numexpr?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pydata/numexpr
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca Python de código abierto para crear agentes de IA que controlan un navegador real, con navegadores sigilosos opcionales de Browser Use Cloud y una API de agentes alojada.
Un framework web de Python para crear APIs con anotaciones de tipos estándar, validación automática, documentación OpenAPI y alto rendimiento.
Monitor de sistema multiplataforma para terminal y web que muestra CPU, memoria, disco, red, procesos y contenedores, con API REST y exportación de datos.
Biblioteca de scraping web en Python que usa LLM y pipelines basados en grafos para extraer datos estructurados de sitios web y documentos locales a partir de una instrucción de texto.
Herramienta para eliminar fondos de imágenes, disponible como CLI, biblioteca de Python, servidor HTTP o contenedor Docker.