У меня есть словарь как:
ex_dict = {'A': ['false',
'true',
'false',
'false',
'false',
'true',
'true',
'false',
'false'],
'B': ['false',
'false',
'true',
'false',
'false',
'false'],
'C': ['false',
'true',
'true',
'false',
'false',
'false',
'false',
'false',
'true']}
Я создаю фрейм данных как:
pl.DataFrame(ex_dict)
при выполнении выдает ошибку:
ShapeError: Could not create a new DataFrame from Series. The Series have different lengths.Got [shape: (9,)
Как создать фрейм данных polars в этих сценариях?
Вы можете поместить каждую серию в свой собственный DataFrame и использовать concat с how = "horizontal"
. Это автоматически расширит более короткую серию со значениями null
.
pl.concat(
items=[pl.DataFrame({_name: _values})
for _name, _values in ex_dict.items()],
how = "horizontal",
)
shape: (9, 3)
┌───────┬───────┬───────┐
│ A ┆ B ┆ C │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str │
╞═══════╪═══════╪═══════╡
│ false ┆ false ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ true ┆ false ┆ true │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ false ┆ true ┆ true │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ false ┆ false ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ false ┆ false ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ true ┆ false ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ true ┆ null ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ false ┆ null ┆ false │
├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
│ false ┆ null ┆ true │
└───────┴───────┴───────┘