77просмотров
17.9%от подписчиков
25 марта 2026 г.
question📷 ФотоScore: 85
Pandas «умирает» на 10 миллионах строк?🧐 Ноутбук тормозит, память улетает, swap молотит, а джойны и агрегации превращаются в боль. Часто причина не в том, что вы плохо пишете код. Причина в подходе, которым работает pandas. Он выполняет операции сразу, шаг за шагом. Это называется eager evaluation. Вы фильтруете данные и получаете новый датафрейм в памяти. Потом группируете и снова появляется ещё один промежуточный результат. В итоге даже при нормальной логике пиковая память растёт быстро, а лишние операции съедают время. Polars и PySpark делают иначе.
Они сначала строят план вычислений, а выполняют всё только когда вы явно просите результат. Это называется lazy evaluation. Почему это даёт ускорение?🚀
Модель видит весь пайплайн целиком и может оптимизировать его заранее Важно понимать, что lazy evaluation не всегда «лучше»
– если вы работаете интерактивно в ноутбуке и постоянно смотрите промежуточные df.head(), то pandas может быть удобнее
– если данных мало, то выигрыш от планировщика может быть меньше, чем оверхед
– если нужна сортировка или операции, которые требуют полной материализации, то магии тоже не будет 📌Подробный разбор с примерами, практическими советами и ошибками при переходе на Polars по ссылке:
https://colab.research.google.com/drive/18H161ZOQ9ttTQ3JkmA6KqwZj_Yg_EkHw?usp=sharing