Всем доброго вечера!👋
На вопрос: "Какая самая популярная библиотека для анализа данных?" - большинство ответит: "Pandas". Однако, когда дело доходит до больших объёмов информации (порядка млн строк) или важна скорость работы - Pandas может оказаться не лучшим выбором❔
Ранее мы разбирали, как распараллелить операции на Pandas, но есть кое-что получше - ✨библиотека Polars✨ В WB часто ей пользуются, т.к. она действительно намного превосходит Pandas по скорости и эффективности. По синтаксису она где-то на ~70% похожа Pandas и ~30% на Pyspark, сравнение десяти самых важных операций ловите в карточках ❤️
Главные преимущества Polars:
✨ Написана на языке Rust, а он поддерживает многопоточность + использует память более эффективно.
✨ Polars поддерживает ленивые операции (Lazy Execution, эта же фича есть в pyspark), что позволяет "откладывать" их выполнение до тех пор, пока не будет вызвана команда .collect(). Благодаря этому можно оптимизировать выполнение сразу нескольких шагов, минимизируя нагрузку на память и процессор.
✨ Основной недостаток Pandas - то что он обрабатывает данные последовательно. Polars же без дополнительных "танцев с бубнами" может использовать несколько ядер процессора параллельно.
✨ Ещё одно следствие из первого пункта: Polars гораздо меньше расходует память. За счёт этого он может работать с большими данными на уровне, который просто недостижим для Pandas.
🐈 Ссылка на официальную документацию
🐈 Репозиторий на GitHub
#аналитика@data_easy
#classic_ml@data_easy
Post #178
1.39K










- ✍ 7
- 🔥 7
- ❤ 3
- 👍 2