我想将多个列作为一个列表组合成一个列。
例如,这个数据框:
┌─────┬─────┐
│ a ┆ b │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 4 │
├╌╌╌╌╌┼╌╌╌╌╌┤
│ 2 ┆ 5 │
├╌╌╌╌╌┼╌╌╌╌╌┤
│ 3 ┆ 6 │
└─────┴─────┘
进入这个:
┌────────────┐
│ combine │
│ --- │
│ list [i64] │
╞════════════╡
│ [1, 4] │
├╌╌╌╌╌╌╌╌╌╌╌╌┤
│ [2, 5] │
├╌╌╌╌╌╌╌╌╌╌╌╌┤
│ [3, 6] │
└────────────┘
现在我正在这样做:
df = df.with_column(pl.map(['a','b'],lambda df:pl.Series(np.column_stack([df[0].to_numpy(),df[1].to_numpy()]).tolist())).alias('combine'))
有更好的方法吗?