С этим определенным dtype (обратите внимание на порядок полей с обратным альфа-кодом):
Код: Выделить всё
Similarity = pl.Struct([
pl.Field('zavg', pl.Float64),
pl.Field('ystd', pl.Float64),
pl.Field('xbase_indices', pl.List(pl.Int64))
])
Код: Выделить всё
df = pl.DataFrame({'x': [0, 1]})
df.with_columns((
pl.col('x')
.map_elements(lambda d: {'zavg':1.1, 'ystd': 0.1, 'xbase_indices': [2]},
return_dtype=Similarity)
.alias(col+'_Blah')
for col in ['item_1A', 'item_7']))
SchemaError: ожидаемый тип вывода
Код: Выделить всё
Struct([
Field { name: "zavg", dtype: Float64 },
Field { name: "ystd", dtype: Float64 },
Field { name: "xbase_indices", dtype: List(Int64) }])
Код: Выделить всё
Struct([
Field { name: "xbase_indices", dtype: List(Int64) },
Field { name: "ystd", dtype: Float64 },
Field { name: "zavg", dtype: Float64 }])
Если я удалю return_dtype, это сработает . Дальнейшие эксперименты показывают, что Polars читает клавиши dict в алфавитном порядке.
Ожидается? Как мне с этим справиться?
Подробнее здесь: https://stackoverflow.com/questions/767 ... ot-match-r