Ошибка в полярах 0.20, но не в 0.19 - как ее обойти?Python

Программы на Python
Anonymous
Ошибка в полярах 0.20, но не в 0.19 - как ее обойти?

Сообщение Anonymous »

Я обнаружил, что в последних версиях Polars (0.20.19) есть ошибка, которой не было в 0.19. С таким кодом:

Код: Выделить всё

df.group_by("SomeDate")
.agg(
pl.col(col)
.filter(
pl.col(col).is_between(
pl.quantile(col, 0.005), pl.quantile(col, 0.995)
)
)
.mean()
)
Это приводит к ошибке, например, сбой утверждения: lhs.len() == rhs.len() на этапе group_by.agg. То же самое произойдет, если я использую для фильтрации мин/макс вместо квантилей. Если бы я использовал фиксированные значения без ссылки на столбец, это работало.
Один из способов — получить квантили из groupby, затем присоединиться к исходному df и, наконец, отфильтровать каждую группу с помощью квантилей. . Однако это будет неприятно с моим текущим кодом, поскольку он перебирает множество столбцов, а также делает это с множеством различных вариантов. Есть ли какое-нибудь простое решение или просто оставаться на старой версии Polars, пока проблема не будет исправлена?

Подробнее здесь: https://stackoverflow.com/questions/783 ... -around-it

Вернуться в «Python»