Я могу сгруппировать By и применить режим:
Код: Выделить всё
df.with_columns(pl.col("X").mode().over(['Y', 'Z']).name.prefix("mode_"))
Код: Выделить всё
ComputeError: the length of the window expression did not match that of the group
Я двигаюсь к функции пользовательского режима, которая возвращает режим, когда это возможно, и None в противном случае. Примерно так:
Код: Выделить всё
def custom_mode(x):
return x.mode().iloc[0] if not x.mode().empty else None
Буду очень признателен за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/778 ... -in-polars