Parquet 文件

加载或写入 Parquet文件快如闪电。

Pandas 使用 PyArrow(用于Apache ArrowPython库)将Parquet数据加载到内存,但不得不将数据复制到了Pandas的内存空间中。

Polars就没有这部分额外的内存开销,因为读取Parquet时,Polars会直接复制进Arrow的内存空间,且始终使用这块内存

读&写

df = pl.read_parquet("path.parquet")
df = pl.DataFrame({"foo": [1, 2, 3], "bar": [None, "bak", "baz"]})
df.write_parquet("path.parquet")

扫描

Polars允许你扫描Parquet输入。扫描操作延迟了对文件的实际解析,并返回一个延迟计算的容器LazyFrame

df = pl.scan_parquet("path.parquet")

如果你想了解更多这样设计的精妙之处,请移步PolarsOptimizations这一章。