Код: Выделить всё
import polars as pl
nest = pl.DataFrame({
'a':[{'x':1,'y':10},{'x':2,'y':20},],
'b':[{'x':3,'y':30},{'x':4,'y':40},]
})
Код: Выделить всё
shape: (2, 2)
┌───────────┬───────────┐
│ a ┆ b │
│ --- ┆ --- │
│ struct[2] ┆ struct[2] │
╞═══════════╪═══════════╡
│ {1,10} ┆ {3,30} │
│ {2,20} ┆ {4,40} │
└───────────┴───────────┘
Код: Выделить всё
print(nest.schema)
# Schema([('a', Struct({'x': Int64, 'y': Int64})),
# ('b', Struct({'x': Int64, 'y': Int64}))])
Код: Выделить всё
shape: (2, 4)
┌─────┬─────┬─────┬─────┐
│ x_a ┆ y_a ┆ x_b ┆ y_b │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 ┆ i64 │
╞═════╪═════╪═════╪═════╡
│ 1 ┆ 10 ┆ 3 ┆ 30 │
│ 2 ┆ 20 ┆ 4 ┆ 40 │
└─────┴─────┴─────┴─────┘
Код: Выделить всё
nest.unnest('a','b')
# DuplicateError: could not create a new DataFrame: column with name 'x' has more than one occurrence
В идеале что-то, что будет рекурсивно сглаживать и устранять неоднозначность имен, используя пути к полям
Подробнее здесь: https://stackoverflow.com/questions/767 ... -suffix-to
Мобильная версия