Я пытаюсь вызвать специальную функцию для агрегирования, а также пытаюсь чтобы избежать использования лямбда-функций (насколько я понимаю, лямбда-функции выполняются только последовательно, поэтому производительность будет ниже). Вот мой код:
Код: Выделить всё
def agg_ll_field(col_name) -> pl.Expr:
return ';'.join(pl.col(col_name).drop_nulls().unique().sort())
dfa = df.lazy()\
.group_by('SharedSourceSystem', 'FOPortfolioName').agg(
agg_ll_field('BookingUnits').alias('BOOKG_UNIT')
).collect()
Код: Выделить всё
agg_ll_field: Unexpected: can only join an iterable
Вместо этого я попробовал использовать функцию map_groups — кажется, это работает, но я стараюсь избегать map_groups, поскольку производительность должна быть хуже.
Подробнее здесь: https://stackoverflow.com/questions/759 ... ted-string
Мобильная версия