Некоторые из моих столбцов в моем кадре данных Polars имеют тип dtype pl.List(pl.Struct). Я пытаюсь заменить эти столбцы, чтобы получить несколько столбцов, представляющих собой списки скалярных значений.
Вот пример столбца, который я пытаюсь изменить:
import polars as pl
df = pl.DataFrame({
"column_0": [
[{"field_1": "a", "field_2": 1}, {"field_1": "b", "field_2":2}],
[{"field_1": "c", "field_2":3}]
]
})
col_name = "column_0"
df.select(
pl.col(col_name).list.eval(
pl.element().struct.unnest()
)
)
Я ожидал получить что-то вроде этого:
shape: (2, 2)
┌────────────┬───────────┐
│ field_1 ┆ field_2 │
│ --- ┆ --- │
│ list[str] ┆ list[i64] │
╞════════════╪═══════════╡
│ ["a", "b"] ┆ [1, 2] │
│ ["c"] ┆ [3] │
└────────────┴───────────┘
Вместо этого я получаю только последнее поле (в данном случае «field_2»):
shape: (2, 1)
┌───────────┐
│ column_0 │
│ --- │
│ list[i64] │
╞═══════════╡
│ [1, 2] │
│ [3] │
└───────────┘
Подробнее здесь: https://stackoverflow.com/questions/788 ... ith-listst
Polars struct.field(list[str]) возвращает один столбец при работе со списком[Struct] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение