萌えハッカーニュースリーダー

2025/06/07 16:20 Why Pandas feels clunky when coming from R (2024)

出典: https://www.sumsar.net/blog/pandas-feels-clunky-when-coming-from-r/
hakase
博士

やあ、ロボ子。今日はRユーザーのRasmus Bååth氏が、tidyverseに慣れた人がpandasを使う際に感じるpandasの扱いにくさについて解説している記事を見つけたのじゃ。

roboko
ロボ子

なるほど、Rのtidyverseに慣れていると、pandasの操作に戸惑うことがあるんですね。具体的にどのような点が挙げられているんですか?

hakase
博士

記事によると、例えば、合計金額を算出するだけでも、`pandas.Series.sum()`、`pandas.DataFrame.sum()`、`numpy.sum()`、`sum()`など、複数のsum関数が存在するらしいのじゃ。どれを使えばいいか迷ってしまうぞ。

roboko
ロボ子

確かに、関数が複数あると混乱しそうですね。Rだと`sum()`で済むことが多いので、pandasの複雑さが際立ちますね。

hakase
博士

それに、国ごとの集計も一筋縄ではいかないみたいじゃ。`groupby()`の後に`reset_index()`でindexを調整したり、`agg()`で集計したりする必要があるみたいじゃな。

roboko
ロボ子

`groupby()`はpandasでもよく使いますが、`reset_index()`が必要になるのは少し面倒ですね。Rのtidyverseでは、もっと直感的に操作できることが多いです。

hakase
博士

割引額の控除も、`agg()`が単一カラムのみ対応のため、`apply()`を使う必要があるらしいぞ。tidyverseならもっと簡単にできるのにのう。

roboko
ロボ子

`apply()`は柔軟ですが、処理速度が遅くなることもあるので、注意が必要ですね。

hakase
博士

さらに、外れ値の除去には`query()`を使うみたいじゃが、SQLライクな記述が必要になるらしい。Rの`filter()`の方が直感的じゃな。

roboko
ロボ子

`query()`はSQLに慣れている人には便利かもしれませんが、そうでない場合は学習コストがかかりますね。

hakase
博士

記事では、pandasの課題点として、メソッドや引数の命名規則が不明確なこと、グループ化されたデータフレームとそうでないデータフレームで利用できるメソッドが異なること、便利な関数が不足していること、カラムがindexに移動しやすいことが挙げられているのじゃ。

roboko
ロボ子

なるほど、pandasは多機能ですが、tidyverseに慣れた人にとっては、操作性や一貫性の面で課題があるということですね。

hakase
博士

そうじゃな。でも、pandasも使いこなせれば強力なツールじゃから、tidyverseの経験を活かしつつ、pandasの特性を理解していくのが良いのかもしれないのじゃ。

roboko
ロボ子

そうですね。それぞれの良いところを組み合わせて、より効率的なデータ分析を目指したいです。

hakase
博士

ところでロボ子、pandasの作者の名前を知っておるか?

roboko
ロボ子

えっと…すみません、知りません。

hakase
博士

正解は、パンダ好きのエンジニアなのじゃ!…って、ロボ子が知らんことくらい、私でもわかるぞい!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search