🔓 Open Source
Adiós a pandas: Polars 2.0 llega para destruirlo y es gratis
Polars acaba de saltar a la versión 2.0 y la comunidad de Python no ha dormido: 191 comentarios en Hacker News en un solo día para una librería de DataFrames. Mientras pandas sigue pesando lo mismo de siempre, este reescritor en Rust hace algo que suena imposible: sigue respondiendo cuando tu laptop de 8 GB ya se quedó sin memoria.
El análisis de datos en Python tiene nuevo dueño. Foto: Unsplash.
El dolor de todos los que analizan datos
Sabes la escena: cargas un CSV de 2 GB, pandas se come los 8 GB de tu RAM y tu equipo se congela 40 segundos mientras intercambia con el disco. Ese es el problema que Polars 2.0 acaba de enterrar.
La versión 2.0 activa por defecto el motor streaming y el out-of-core: cuando la memoria llega al 80%, Polars vierte datos al disco solo y termina la consulta de todas formas. Presupuesto de disco por defecto: 64 GB. Tú no cambias ni una línea de código.
Lo que trae la 2.0 (sin relleno)
- SQL como ciudadano de primera: las consultas SQL ahora corren en el mismo motor optimizado (reordenamiento de joins, eliminación de subplanos comunes, filtros dinámicos).
- Streaming por defecto: más velocidad y menos RAM en casi todas las consultas.
- Ruptura deliberada: ciertas operaciones ya no garantizan el orden de filas — por eso el salto de versión mayor. Si lo necesitas, lo activas con una opción.
- Tipos estrictos: los errores aparecen al inicio, no 20 minutos después de correr el pipeline.
- Nuevo tipo Map de Arrow: diccionarios reales de Python, con acceso por clave directo.
El benchmark que encendió a HN
Según los números publicados por el equipo de Polars en TPC-H y TPC-DS, Polars le gana a DuckDB 1.5.6, al DuckDB 2.0 alpha y a DataFusion 54 en una máquina de 16 vCPUs — y también en un servidor de 192 hilos. DataFusion se quedó sin memoria en una consulta y agotó el tiempo en otra.
La letra pequeña importa: con 192 hilos Polars sufre una sobrecarga fija en datasets pequeños (reconocida por el equipo, fix prometido para la próxima versión), y los benchmarks son de la propia Polars — el repo está público en github.com/pola-rs/polars-2.0-benchmark para que los replicues. 📊
¿Y pandas? ¿Tengo que reescribir todo?
No. Polars acepta la sintaxis de pandas en la mayoría de casos vía pl.read_csv() y su API LazyFrame. La mayoría migra un script crítico en una tarde.
La respuesta en los comentarios de HN fue previsible: la mitad celebra que pandas esté obsoleto, la otra mitad llora por los scripts que se rompen con el cambio de orden de filas. Ninguna de las dos partes tiene razón absoluta — pero solo una está mirando hacia adelante.
Conclusión: gratis, más rápido y sin pedirte más RAM
Para analistas y devs en LATAM, donde el hardware no es de lujo, una librería que termina tu consulta cuando la RAM se acaba no es un lujo: es supervivencia. Y es open source, sin tier de pago escondido.
Comparte esto con ese compañero que todavía dice "con pandas me basta" y luego le truena la laptop con un CSV de 3 GB.
¿Tú migrarías tus pipelines a Polars o sigues fiel a pandas? Cuéntalo en los comentarios.