Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/docs/source/src/python/user-guide/concepts/lazy-vs-eager.py
7890 views
1
# --8<-- [start:import]
2
import polars as pl
3
4
# --8<-- [end:import]
5
6
# --8<-- [start:eager]
7
8
df = pl.read_csv("docs/assets/data/iris.csv")
9
df_small = df.filter(pl.col("sepal_length") > 5)
10
df_agg = df_small.group_by("species").agg(pl.col("sepal_width").mean())
11
print(df_agg)
12
# --8<-- [end:eager]
13
14
# --8<-- [start:lazy]
15
q = (
16
pl.scan_csv("docs/assets/data/iris.csv")
17
.filter(pl.col("sepal_length") > 5)
18
.group_by("species")
19
.agg(pl.col("sepal_width").mean())
20
)
21
22
df = q.collect()
23
# --8<-- [end:lazy]
24
25
# --8<-- [start:explain]
26
print(q.explain())
27
# --8<-- [end:explain]
28
29
# --8<-- [start:explain-expression-expansion]
30
schema = pl.Schema(
31
{
32
"int_1": pl.Int16,
33
"int_2": pl.Int32,
34
"float_1": pl.Float64,
35
"float_2": pl.Float64,
36
"float_3": pl.Float64,
37
}
38
)
39
40
print(
41
pl.LazyFrame(schema=schema)
42
.select((pl.col(pl.Float64) * 1.1).name.suffix("*1.1"))
43
.explain()
44
)
45
# --8<-- [end:explain-expression-expansion]
46
47