ベストアンサー1
パンダが速い理由は、私がより優れたアルゴリズムを考案したからです。これは、高速ハッシュテーブル実装 - klibそしてC/シトンベクトル化できない部分に対する Python インタープリタのオーバーヘッドを回避するためです。このアルゴリズムについては、私のプレゼンテーションで詳しく説明しています。パンダの設計と開発の裏側。
との比較はdata.table
実は少し興味深い。なぜならRのポイントdata.table
は、事前計算されたインデックスさまざまな列にデータの選択やマージなどの操作を高速化します。この場合(データベース結合)pandasのDataFrameには事前に計算された情報なしこれはマージに使用されているもので、いわば「コールド」マージです。結合キーの因数分解バージョンを保存しておけば、結合は大幅に高速化されます。因数分解がこのアルゴリズムの最大のボトルネックだからです。
また、pandas の DataFrame の内部設計は、R の data.frame (内部的には単なる配列のリスト) よりも、こうした種類の操作に適していることも付け加えておきます。