gpt4 book ai didi

python-polars - 极性 : list to columns, 没有 `get`

转载 作者:行者123 更新时间:2023-12-03 07:54:50 27 4
gpt4 key购买 nike

假设我有:

In [1]: df = pl.DataFrame({'a': [[1,2], [3,4]]})

In [2]: df
Out[2]:
shape: (2, 1)
┌───────────┐
│ a │
│ --- │
│ list[i64] │
╞═══════════╡
│ [1, 2] │
│ [3, 4] │
└───────────┘

我知道 'a' 的所有元素都是相同长度的列表。

我能做到:

In [10]: df.select([pl.col('a').arr.get(i).alias(f'a_{i}') for i in range(2)])
Out[10]:
shape: (2, 2)
┌─────┬─────┐
│ a_0 ┆ a_1 │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 2 │
│ 3 ┆ 4 │
└─────┴─────┘

但这涉及到硬编码2

有没有办法在不硬编码2的情况下做到这一点?我可能事先不知道列表中有多少元素(我只知道它们都有相同数量的元素)

最佳答案

您可以convert to a struct.unnest() :

df.with_columns(pl.col("a").list.to_struct()).unnest("a")
shape: (2, 2)
┌─────────┬─────────┐
│ field_0 ┆ field_1 │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════════╪═════════╡
│ 1 ┆ 2 │
│ 3 ┆ 4 │
└─────────┴─────────┘

关于python-polars - 极性 : list to columns, 没有 `get`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76301087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com