Попробую что-то вроде
Код: Выделить всё
df.map_rows(lambda x: udf({k:v for k, v in zip(df.columns, x)}))
В документе сказано, что:
map_rows на уровне кадра не может отслеживать имена столбцов (поскольку пользовательская функция представляет собой черный ящик, который может произвольно удалять, переупорядочивать, преобразовывать или добавлять новые столбцы); если вы хотите применить UDF так, чтобы имена столбцов сохранялись, вместо этого вам следует использовать синтаксис map_elements уровня выражения.
Но как это предотвращает полярные поля? передать в udf словарь, а не кортеж? Точно так же, как вызов df.row(i,named=True). Почему структуре нельзя дать имя?
Я знаю, что могу перебирать df.rows() и выполнять пользовательские действия, а затем конвертировать обратно в pl.DataFrame , но мне бы хотелось сделать это, не выходя из API Polars.
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-map-rows