Spec-Zone.ru › Polars

polars.element

polars.element() → Expr

Псевдоним элемента, вычисляемого в выражении eval или filter.

Примеры

Вычисление горизонтального ранга с использованием элементов списка

>>> df = pl.DataFrame(
...     {
...         "a": [1, 8, 3],
...         "b": [4, 5, 2],
...     }
... )
>>> df.with_columns(
...     pl.concat_list(["a", "b"]).list.eval(pl.element().rank()).alias("rank")
... )
shape: (3, 3)
┌─────┬─────┬────────────┐
│ a   ┆ b   ┆ rank       │
│ --- ┆ --- ┆ ---        │
│ i64 ┆ i64 ┆ list[f64]  │
╞═════╪═════╪════════════╡
│ 1   ┆ 4   ┆ [1.0, 2.0] │
│ 8   ┆ 5   ┆ [2.0, 1.0] │
│ 3   ┆ 2   ┆ [2.0, 1.0] │
└─────┴─────┴────────────┘

Математическая операция над элементами массива

>>> df = pl.DataFrame(
...     {
...         "a": [1, 8, 3],
...         "b": [4, 5, 2],
...     }
... )
>>> df.with_columns(
...     pl.concat_list(["a", "b"]).list.eval(pl.element() * 2).alias("a_b_doubled")
... )
shape: (3, 3)
┌─────┬─────┬─────────────┐
│ a   ┆ b   ┆ a_b_doubled │
│ --- ┆ --- ┆ ---         │
│ i64 ┆ i64 ┆ list[i64]   │
╞═════╪═════╪═════════════╡
│ 1   ┆ 4   ┆ [2, 8]      │
│ 8   ┆ 5   ┆ [16, 10]    │
│ 3   ┆ 2   ┆ [6, 4]      │
└─────┴─────┴─────────────┘

Фильтрация элементов списка

>>> import polars as pl
>>> df = pl.DataFrame({"a": [1, 8, 3], "b": [4, 5, 2]})
>>> df.with_columns(
...     evens=pl.concat_list("a", "b").list.filter(pl.element() % 2 == 0)
... )
shape: (3, 3)
┌─────┬─────┬───────────┐
│ a   ┆ b   ┆ evens     │
│ --- ┆ --- ┆ ---       │
│ i64 ┆ i64 ┆ list[i64] │
╞═════╪═════╪═══════════╡
│ 1   ┆ 4   ┆ [4]       │
│ 8   ┆ 5   ┆ [8]       │
│ 3   ┆ 2   ┆ [2]       │
└─────┴─────┴───────────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.element.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API