Comments 5
Это конечно только мое мнение, но я не вижу смысла от Polars. Если датасет настолько большой что с ним невозможно работать в RAM то логичный шаг это переход на spark, работоспособность которого доказана на огромных терабайтных датасетах, который как и pandas имеет огромное комьюнити и так же как pandas является по сути стандартом.
Если один инструмент стремится прийти на смену другому, хочется примеров эквивалентного кода в виде "было/стало", для оценки целесообразности переезда. Ведь инструмент может быть очень хорош, но нужно что-то делать с имеющейся кодовой базой. И если всё сложно, может просто не оказаться ресурсов для переезда.
Кроме того, прям таки катастрофическая нехватка таблиц со сравнением того, кто кого и как обгоняет. С пояснениями, почему этот код эквивалентен тому. Углубляться в чтение листингов очень интересно. Но не всегда возможно запускать все тесты у себя.
Глобально, меня больше заинтересовал раздел об интеграции с другими инструментами.
Polars предоставляет богатый набор встроенных выражений, которые выполняются на уровне колонок с использованием векторизации и SIMD-инструкций.
А как "под капотом" реализовано использование SIMD? С Pandas/Numpy понятно - вендоры сами пишут оптимизированные реализации.
Пока нет в подобных статья и сравнениях Pandas vs Polars одной простой команды:
df = df.convert_dtypes(dtype_backend='pyarrow')
# и только после этого тестим выборки, сортировки итд
говорить о беспристрастности, "убивстве" Pandas итп - очень и очень рано.
Pandas теперь поддерживает гибридные pandas/numpy/arrow-типы в одном df и оптимизирует (кое-что, кое-как, но местами уже хорошо). Например группировку по подстрокам. Category-типы и так в pandas достаточно быстры.
Правильно говорят что в троице Pandas - Polars - Spark нередко третий лишний. И DuckDB со своим SQL и очень приятной всеядностью добавляет мук выбора. В целом все инструменты хороши, быстры, остаются востребованными и ни один их них кмк не "убьет" ни один другой из этой 4-ки.
А решение 1 Billion Row Challenge на polars сделаете?
Polars — «убийца Pandas» на максималках