Add an external context to the computation graph
Description
This allows expressions to also access columns from DataFrames or LazyFrames that are not part of this one.
Usage
<LazyFrame>$with_context(other)
Arguments
other
|
Data/LazyFrame to have access to. This can be a list of DataFrames and LazyFrames. |
Value
A LazyFrame
Examples
library("polars")
lf = pl$LazyFrame(a = c(1, 2, 3), b = c("a", "c", NA))
lf_other = pl$LazyFrame(c = c("foo", "ham"))
lf$with_context(lf_other)$select(
pl$col("b") + pl$col("c")$first()
)$collect()
#> shape: (3, 1)
#> ┌──────┐
#> │ b │
#> │ --- │
#> │ str │
#> ╞══════╡
#> │ afoo │
#> │ cfoo │
#> │ null │
#> └──────┘
# Fill nulls with the median from another lazyframe:
train_lf = pl$LazyFrame(
feature_0 = c(-1.0, 0, 1), feature_1 = c(-1.0, 0, 1)
)
test_lf = pl$LazyFrame(
feature_0 = c(-1.0, NA, 1), feature_1 = c(-1.0, 0, 1)
)
test_lf$with_context(train_lf$select(pl$all()$name$suffix("_train")))$select(
pl$col("feature_0")$fill_null(pl$col("feature_0_train")$median())
)$collect()
#> shape: (3, 1)
#> ┌───────────┐
#> │ feature_0 │
#> │ --- │
#> │ f64 │
#> ╞═══════════╡
#> │ -1.0 │
#> │ 0.0 │
#> │ 1.0 │
#> └───────────┘