考虑以下示例:
import polars as pl
pl.DataFrame(pl.Series("x", ["1, 0", "2,3", "5 4"])).with_columns(
pl.col("x").str.split(",").list.eval(pl.element().str.split(" "))
)
shape: (3, 1)
┌────────────────────┐
│ x │
│ --- │
│ list[list[str]] │
╞════════════════════╡
│ [["1"], ["", "0"]] │
│ [["2"], ["3"]] │
│ [["5", "4"]] │
└────────────────────┘
我想展平列的元素,因此元素不是嵌套列表,而是只是一个列表。我该怎么做?
在列表中的每个
explode
上调用 element
:
import polars as pl
pl.DataFrame(pl.Series("x", ["1, 0", "2,3", "5 4"])).with_columns(
pl.col("x")
.str.split(",")
.list.eval(pl.element().str.split(" "))
.list.eval(pl.element().explode())
)
shape: (3, 1)
┌────────────────┐
│ x │
│ --- │
│ list[str] │
╞════════════════╡
│ ["1", "", "0"] │
│ ["2", "3"] │
│ ["5", "4"] │
└────────────────┘