Pandas должен исчезнуть: 94% таблиц в Redshift меньше 100 ГБ

Pandas Should Go Extinct

Pandas должен исчезнуть: 94% таблиц в Redshift меньше 100 ГБ

Автор утверждает, что Pandas неэффективен и заставляет команды переходить на распределённые системы вроде Spark или Snowflake задолго до того, как это действительно необходимо. Анализ данных Amazon Redshift показывает: 94,68% таблиц содержат менее 100 ГБ, а 86,9% запросов обрабатывают не более 80 ГБ. Для таких объёмов достаточно Polars и DuckDB — они работают в разы быстрее и потребляют меньше памяти. В тесте на 1 млрд строк Pandas выполнил задачу за 4 минуты 28 секунд, тогда как Polars и DuckDB — примерно за 5 секунд.

Вы, скорее всего, не имеете Big Data и, вероятно, никогда не будете. У вас проблемы Medium Data, и вам нужны решения для Medium Data.
  1. minimaxir

    Прошло уже немало времени с тех пор, как я видел настоящий пост по data science на Hacker News: и потому что AI поглотил многие задачи DS (например, векторные эмбеддинги), и потому что в DS не произошло ничего особо нового. Polars существует уже какое-то время, и, как отмечалось, он гораздо лучше pandas, но в остальном экосистема DS несколько застоялась.

    Я бы написал больше туториалов о том, как использовать инструменты data science, но одно из последствий AI — все старые источники данных, которые я использовал для анализа, такие как соцсети и Reddit, теперь полностью закрыты (хотя я удивлён, что NYC Taxi всё ещё обновляется). Поэтому пока я работаю над созданием лучших инструментов для data science... хотя неясно, ради чего, учитывая проблему с данными выше.

  2. rmunn

    Милое название; я думал, что собираюсь прочитать статью эколога-контрарианца, говорящего: «вид, настолько специализированный в своей диете и привередливый в репродуктивном поведении, не заслуживает, с эволюционной точки зрения, выживания». (Серьёзно, заставить панд размножаться в неволе чертовски сложно). И хотя моя первая реакция была бы «может быть, но мы всё равно должны их сохранить, потому что можем», я был готов посмотреть, есть ли у автора серьёзный аргумент.

    Вместо этого это милое название-обманка, и статья сразу говорит, что на самом деле она о библиотеке Python `pandas`. С которой я, кажется, сталкивался, может, один раз за всю карьеру (я не в области data science), так что мне особо нечего сказать о самой статье. Я просто хочу похвалить автора за то, что он обманул меня названием. Это тот вид «кликбейта», который я могу уважать и которого мне иногда даже немного не хватает. Приятный смешок, а затем настоящая статья.

  3. sjtrny

    > Люди обычно начинают с Excel и переходят на Pandas где-то в диапазоне ГБ. Pandas хорошо служит им до десятков ГБ, а затем они начинают сталкиваться с проблемами памяти, медленными вычислениями или разочаровываться в барочном API Pandas.

    Предполагается, что проект выходит за пределы десятков ГБ. Полагаю, 99,9% проектов, импортирующих pandas, остаются далеко ниже этого порога.

  4. mulmboy

    Люди обычно удивляются, узнав, что polars может быть медленнее для довольно обыденных операций, особенно с небольшими наборами данных. Например, возьмите dataframe 5000 x 3 из float64, отсортируйте по одному столбцу, и вы обнаружите, что polars занимает примерно в 2,5 раза больше времени. Если установить POLARS_MAX_THREADS в 1, то он быстрее. Хотя всё зависит от машины. Polars обычно сияет на больших наборах данных или там, где он может активно использовать планирование запросов.

    Не пропускайте профилирование

  5. latent-person

    На мой взгляд, лучший аргумент против использования pandas — это очень неинтуитивный API pandas. Кроме того, небольшое изменение в запросе может заставить вас перестроить весь запрос (изменить все строки), тогда как в Polars (и tidyverse в R) это простое изменение в одну строку.

  6. crazysim

    Я сумасшедший, или OP случайно поменял местами содержимое постов?

    https://eddie.codes/posts/pandas-should-go-extinct/ <=> https://eddie.codes/posts/source-code-comments/

  7. __mharrison__

    Я как раз заканчиваю правки для Effective Pandas 3rd Edition. (Я также написал книгу о Polars и только что завершил недельный тренинг по pandas на этой неделе.)

    Pandas не идеален, у него куча недостатков. Но его достаточно для большинства. (И многие из этих людей используют Excel, tableau или power bi... Именно с такими я тренировался на этой неделе).

    Если у вас средние данные, миграция с pandas на pyarrow на duck или Polars тривиальна.

  8. evolve-maz

    Только в последние несколько лет я начал правильно использовать SQL. До этого мои пайплайны жили на Python. Теперь я перекладываю как можно больше на БД, а Python оставляю простым клеем. Я очень доволен этим по сравнению с другими методами в pandas или polars.

    Если мне всё ещё нужно делать вещи, похожие на БД, в Python, я думаю, duckdb лучше.

Ещё за этот день

2026-09-12