polars.LazyFrame.serialize#
- LazyFrame.serialize(file: None = None) str [source]#
- LazyFrame.serialize(file: IOBase | str | Path) None
Serialize the logical plan of this LazyFrame to a file or string in JSON format.
- Parameters:
- file
File path to which the result should be written. If set to
None
(default), the output is returned as a string instead.
See also
Examples
Serialize the logical plan into a JSON string.
>>> lf = pl.LazyFrame({"a": [1, 2, 3]}).sum() >>> json = lf.serialize() >>> json '{"Projection":{"expr":[{"Agg":{"Sum":{"Column":"a"}}}],"input":{"DataFrameScan":{"df":{"columns":[{"name":"a","datatype":"Int64","bit_settings":"","values":[1,2,3]}]},"schema":{"inner":{"a":"Int64"}},"output_schema":null,"projection":null,"selection":null}},"schema":{"inner":{"a":"Int64"}},"options":{"run_parallel":true,"duplicate_check":true}}}'
The logical plan can later be deserialized back into a LazyFrame.
>>> import io >>> pl.LazyFrame.deserialize(io.StringIO(json)).collect() shape: (1, 1) ┌─────┐ │ a │ │ --- │ │ i64 │ ╞═════╡ │ 6 │ └─────┘