Escribir dataframes en Python
Parquet conserva los tipos; CSV conserva a los lectores; sink transmite a disco.
import polars as pl
tabla = pl.DataFrame({
"lang": ["python", "rust"],
"tpm": [104.5, 98.0],
"stars": [3, 3],
})
tabla.write_parquet("intentos.parquet")
tabla.write_csv("intentos.csv")
tabla.write_ndjson("intentos.ndjson")
releido = pl.read_parquet("intentos.parquet")
print(releido.schema == tabla.schema, releido.height)
print(pl.read_csv("intentos.csv").schema)
tabla.lazy().filter(pl.col("stars") == 3).sink_parquet("mejor.parquet")
print(pl.read_parquet("mejor.parquet").height)
Cómo funciona
write_parquethace el viaje redondo del esquema exacto.write_csvpierde los tipos, pero cualquiera puede leerlo.sink_parquetescribe desde un LazyFrame sin cargarlo entero.
Palabras clave y builtins usados aquí
asprint
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 487
- Tokens
- 147
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 80 segundos.
Paso 1 de 2 en Lectura y escritura; paso 29 de 32 en Polars.