Polars: дополнить столбцы списка до определенного размера.Python

Программы на Python
Anonymous
Polars: дополнить столбцы списка до определенного размера.

Сообщение Anonymous »

Мне кажется, я столкнулся с проблемой XY...
Вот что я на самом деле хочу сделать:
Точнее, у меня есть фрейм данных типа:
shape: (3, 3)
┌───────────┬───────┬──────────────────────────┐
│ nrs ┆ stuff ┆ more_stuff │
│ --- ┆ --- ┆ --- │
│ list[i64] ┆ i64 ┆ list[list[i64]] │
╞═══════════╪═══════╪══════════════════════════╡
│ [1, 2, 3] ┆ 1 ┆ [[1, 1], [2, 2], [3, 3]] │
│ [2, 4] ┆ 2 ┆ [[4, 4], [5, 5]] │
│ [1] ┆ 3 ┆ [[6, 6]] │
└───────────┴───────┴──────────────────────────┘

С обычными столбцами int64, столбцами list[int64] и одним столбцом list[list[64]].
Я хочу иметь возможность указывать размер и длину все столбцы списка (также вложенные) до этого размера. Либо сократив их до этого размера, либо дополнив их последним значением (list[-1] для обычных списков Python) как для вложенных, так и для обычных списков. Столбцы, не входящие в список, следует оставить без изменений.
Таким образом, результат для N=2 для приведенного выше кадра данных должен быть следующим:
shape: (3, 3)
┌───────────┬───────┬──────────────────┐
│ nrs ┆ stuff ┆ more_stuff │
│ --- ┆ --- ┆ --- │
│ list[i64] ┆ i64 ┆ list[list[i64]] │
╞═══════════╪═══════╪══════════════════╡
│ [1, 2] ┆ 1 ┆ [[1, 1], [2, 2]] │
│ [2, 4] ┆ 2 ┆ [[4, 4], [5, 5]] │
│ [1, 1] ┆ 3 ┆ [[6, 6], [6, 6]] │
└───────────┴───────┴──────────────────┘


Подробнее здесь: https://stackoverflow.com/questions/763 ... cific-size

Вернуться в «Python»