Pandasは絶滅すべき:100GBの壁とDuckDB・Polarsの衝撃

Pandas Should Go Extinct

Pandasは絶滅すべき:100GBの壁とDuckDB・Polarsの衝撃

Pandasの非効率性が、ワークロードに見合わない分散クエリシステムへの移行を強制している。Amazon Redshiftのテレメトリ分析によれば、94.68%のテーブルは100GB未満、86.9%のクエリは80GB以下で、いわゆる「Big Data」はほとんどの場合存在しない。100GB前後の「Medium Data」なら、DuckDBやPolarsといったシングルマシン向けの高性能ツールで十分だ。10億行のCSV処理では、Pandasが4分28秒かかるのに対し、Polarsは5.04秒、DuckDBは5.19秒と圧倒的な差を見せた。

あなたはおそらくBig Dataを持っていないし、これからも持つことはないだろう。あなたが抱えているのはMedium Dataの問題であり、必要なのはMedium Dataのソリューションだ。
  1. minimaxir

    Hacker Newsに実際のデータサイエンス記事が投稿されるのを見るのは久しぶりだ。AIが多くのDSタスク(例えばベクトル埋め込み)を包含してしまったからでもあるし、DS自体にあまり新しい動きがないからでもある。Polarsはしばらく前から存在していて、指摘されているようにpandasよりずっと優れているが、それ以外のDSエコシステムはやや停滞気味だ。

    データサイエンスツールの使い方についてもっとチュートリアルを書くべきだが、AIの影響の一つとして、以前分析に使っていたソーシャルメディアやRedditなどの古いデータソースが完全にロックダウンされてしまった(NYC Taxiがまだ更新されているのは驚きだ)。それで当面は、より良いデータサイエンスツールの開発に取り組んでいる…とはいえ、上記のデータ問題があるため、何のためになるのかは不明だが。

  2. rmunn

    タイトルが面白い。てっきり、逆張りの生態学者が「食事があまりに特殊化し、繁殖行動が気難しすぎる種は、進化的に言って生き残るに値しない」と言っているのかと思った。(真面目な話、パンダを飼育下で繁殖させるのはめちゃくちゃ難しい)。そして、私の脊髄反射的な反応は「かもしれないが、できるからといって保護すべきだ」だったが、著者が真剣な議論を提示するのかどうか見てみようと構えていた。

    ところが、これは可愛らしい釣りタイトルで、記事は最初から実際にはPythonの`pandas`ライブラリについてだと教えてくれる。私はキャリアの中で一度しか出会ったことがない(データサイエンス分野ではないので)、記事自体について言うことはあまりない。ただ、タイトルで私を騙した著者を称えたい。「クリックベイト」の中でもこれは尊敬できる種類で、時々もう少しあってもいいとさえ思う。いい笑いを取って、それから本物の記事。

  3. sjtrny

    > 人はたいていExcelから始めて、GB程度でPandasに進む。Pandasは10数GB程度まではよく機能するが、その後メモリ問題、計算の遅さ、あるいはPandasのバロックなAPIにフラストレーションを感じ始める。

    プロジェクトが10数GBを超えることを前提としている。pandasをインポートするプロジェクトの99.9%はこの閾値をはるかに下回るだろう。

  4. mulmboy

    Polarsがかなり平凡な操作、特に小さいデータセットでは遅くなることがあると聞いて、人はたいてい驚く。例えば、float64の5000x3のデータフレームを1列でソートすると、Polarsは約2.5倍時間がかかる。POLARS_MAX_THREADSを1に設定すると速くなる。とはいえ、これはマシン次第だ。Polarsは大きいデータセットやクエリプランニングを大いに活用できる場合に輝く傾向がある。

    プロファイリングを怠るな。

  5. latent-person

    私の意見では、pandasを使い続けるのをやめるより良い理由は、pandasの非常に直感的でないAPIだ。さらに、クエリを少し変えるだけでクエリ全体を再構築(全行を変更)しなければならないが、Polars(およびRのtidyverse)では単純な1行の変更で済む。

  6. crazysim

    私がおかしいのか、それともOPが誤って記事の中身を入れ替えたのか?

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

  7. __mharrison__

    Effective Pandas第3版の編集を終えるところだ。(Polarsの本も書いたし、今週はpandasの1週間トレーニングを終えたばかりだ。)

    pandasは完璧ではない、たくさんの難点がある。しかしほとんどの人には十分だ。(そしてそうした人々の多くはExcelやtableauやpower biを使っている…今週トレーニングしていたのはそういう人たちだ)。

    中規模データなら、pyarrowベースのpandasからduckやPolarsへの移行は簡単だ。

  8. evolve-maz

    SQLをちゃんと使い始めたのはここ数年のことだ。それ以前はパイプラインはPythonで動いていた。今はできるだけDBにオフロードし、Pythonはシンプルな接着剤として保っている。pandasやpolarsの他の方法と比べてこれに非常に満足している。

    まだPythonでDB的なことをする必要があるなら、duckdbの方が良いと思う。

この日のほかの記事

2026-09-12