2016-08-02 6 views
1

私のprevious questionから、適用はデータフレームマージよりもはるかに遅いことがわかります。 なぜpandasがデータフレームマージよりもはるかに遅く適用されるのですか

は誰が背後にある理論を説明してもらえ

しかし、私はそのはるかに遅いが、私の理解のように、データフレーム内のN個の行がある場合、理由についてはまだ混乱しています、O(N)として動作するはず関数を適用...私に適用し、データフレームをマージしますか?あるいは、それを研究するためのリソースはありますか?事前に

感謝:)

+0

AFAIK 'apply'はPythonの解釈関数を使用し、組み込み演算はCコンパイルされた関数です。 – Mephy

+0

こんにちはメフィー、それについてのリンクを教えていただけますか?私もPythonはCよりも遅いと思っていますが、データフレームのマージに比べて100倍以上の遅れがあるので、それは言語に関連するものではないはずです:) – linpingta

答えて

1

答えはイエスです。 PythonはCと比べて数百倍遅くなる可能性があります。これはPythonであり、同等の漸近線を持つからです。数学的経験を多用している数学者として、私はCがPythonより数十倍から数百倍高速かもしれないと証言することができます。正式な情報源については、 these benchmarksを参照してください。

漸近的複雑さは、約スケーリングだけであることを覚えておいてください。。 2つのアルゴリズムは簡単に同じ複雑さを持つことができますが、実行時間は桁違いに異なります。今度は、Pythonがの方がCよりも大きい因子で減速していることがわかっていると、漸近的に重要なアルゴリズムの違いに対処できる可能性があります(これは入力が倍増して実行時間が2倍以上になります)。

+0

thanks @bpachev〜私はまだ2つの混乱を抱えています:1.適用機能の詳細を記述した文書ですか? 2.私はデータ変換をしたい場合、それを避けるために任意の方法:) – linpingta

関連する問題