import polars as pl
...
# Sort by date, then pick the first row for each UID (earliest date)
sample_frame=sample_frame.sort(by=DATE_COL).unique(subset=UID_COL, keep='first')
Я ожидал, что полученный кадр после описанной выше операции будет отсортирован по дате, но, похоже, это не так.
Так не испортит ли операция дедупликации порядок остальных строк? Предоставляет ли документация Polars или ее сопровождающие какие-либо гарантии порядка строк после вызова unique
?
Полярные поля не поддерживают порядок по умолчанию, поскольку это требует дополнительных вычислений. Если вам это нужно, вы можете использовать параметр maintain_order
метода unique():
support_order
Сохраняйте тот же порядок, что и исходный DataFrame. Это дороже вычислить. Установка значения True блокирует возможность запуска на потоковый движок.
sample_frame = (
sample_frame
.sort(by=DATE_COL)
.unique(subset=UID_COL, keep='first', maintain_order=True)
)