有没有一种polars原生的方式来水平地展开一列列表?
例如,从这个开始:
df = pl.DataFrame(
{
"letters": ["a", "a", "b", "c"],
"numbers": [[1, 1], [2, 3], [4, 5], [6, 7]],
}
)
字符串
对这个?
df = pl.DataFrame(
{
"letters": ["a", "a", "b", "c"],
"numbers_a": [1, 2, 4, 6],
"numbers_b": [1, 3, 5, 7]
}
)
型
我知道.explode()
的方法,但afaik这是唯一可能使用垂直
2条答案
按热度按时间rhfm7lfc1#
有两种方法可以做到这一点。
struct/unnest
最简单的是
.list.to_struct
,然后unnest
字符串
获取
型
在任何一种情况下,你都会得到:
型
在前一种情况下,你可以更容易地链接方法,但第二种情况依赖于首先确定
max_width
,这是不太灵活的。第二种方法 * 可能 * 性能更好,但我真的不知道,所以值得检查。nbysray52#
对于那些像我一样不能使用.list()方法的人,
字符串
我的问题是有没有波兰人的方式,所以我会接受另一个答案。