Python Polars: hoja de referencia definitiva

Fuentes: Python Polars: The Definitive Cheatsheet

Polars es una biblioteca de Python para transformar, analizar y visualizar datos mediante una API de DataFrames rápida y expresiva, publicada por primera vez por Ritchie Vink en 2020. A diferencia de pandas, no emplea un índice de filas y favorece la inmutabilidad y el encadenamiento de métodos; sus estructuras principales son la Series unidimensional, el DataFrame bidimensional y el LazyFrame, un plan optimizable que no contiene datos hasta su ejecución. La biblioteca ofrece dos API complementarias: la eager, que ejecuta al instante, y la lazy, que construye un plan de consulta optimizado con técnicas como predicate pushdown y projection pushdown antes de materializarse con .collect().

El sistema de tipos se apoya en la especificación de memoria Apache Arrow e incluye familias numéricas (Float32/64, Int8 a Int128, UInt8 a UInt64, Decimal), temporales (Date, Datetime, Duration, Time), anidadas (Array, List, Struct), de cadena (String, Categorical, Enum) y otras como Boolean, Binary y Null. Para la inspección de tipos y datos Polars expone df.schema, df.dtypes, df.glimpse(), df.describe() y df.estimated_size(), mientras que la conversión entre tipos se realiza con .cast(), admitiendo el modo strict=False para desbordamientos silenciosos convertidos en nulos.

En lectura y escritura Polars dispone de cuatro familias de funciones —read_, scan_, write_ y sink_— que cubren formatos como CSV, Parquet, NDJSON, IPC/Feather, Delta Lake, Iceberg, Avro, Excel/ODS, bases de datos, portapapeles, JSON y PyArrow Dataset, con soporte heterogéneo según el formato. Para transformar datos ofrece selectores de columnas por nombre, tipo o patrón, creación de columnas con with_columns, reemplazo de existentes, y utilidades para operaciones relacionales y combinaciones entre DataFrames, todo dentro de una misma cadena de métodos pensada para el procesamiento eficiente de grandes volúmenes de información.