Разбить несколько столбцов разной длиныPython

Программы на Python
Anonymous
Разбить несколько столбцов разной длины

Сообщение Anonymous »

У меня есть такой фрейм данных:

Код: Выделить всё

data = {
"a": [[1], [2], [3, 4], [5, 6, 7]],
"b": [[], [8], [9, 10], [11, 12]],
}
df = pl.DataFrame(data)
"""
┌───────────┬───────────┐
│ a         ┆ b         │
│ ---       ┆ ---       │
│ list[i64] ┆ list[i64] │
╞═══════════╪═══════════╡
│ [1]       ┆ []        │
│ [2]       ┆ [8]       │
│ [3, 4]    ┆ [9, 10]   │
│ [5, 6, 7] ┆ [11, 12]  │
└───────────┴───────────┘
"""
Каждая пара списков может иметь разную длину, и я хочу «обрезать» разнесение до самого короткого из обоих списков:

Код: Выделить всё

"""
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 2   ┆ 8   │
│ 3   ┆ 9   │
│ 4   ┆ 10  │
│ 5   ┆ 11  │
│ 6   ┆ 12  │
└─────┴─────┘
"""
Я подумал, что, возможно, мне придется заполнить самый короткий из обоих списков значением None, чтобы они соответствовали обеим длинам, а затем drop_nulls. Но мне было интересно, есть ли более прямой подход к этому?

Подробнее здесь: https://stackoverflow.com/questions/789 ... nt-lengths

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