docs/user-guide/io/parquet.md
Loading or writing Parquet files is lightning fast.
Pandas uses PyArrow -Python bindings
exposed by Arrow- to load Parquet files into memory, but it has to copy that data into
Pandas memory. With Polars there is no extra cost due to
copying as we read Parquet directly into Arrow memory and keep it there.
{{code_block('user-guide/io/parquet','read',['read_parquet'])}}
{{code_block('user-guide/io/parquet','write',['write_parquet'])}}
Polars allows you to scan a Parquet input. Scanning delays the actual parsing of the
file and instead returns a lazy computation holder called a LazyFrame.
{{code_block('user-guide/io/parquet','scan',['scan_parquet'])}}
If you want to know why this is desirable, you can read more about those Polars optimizations here.