6
パンダのiterrowsにはパフォーマンスの問題がありますか?
パンダのiterrowを使用すると、パフォーマンスが非常に低下することに気づきました。 これは他の人が経験するものですか?それはiterrowsに固有ですか?この関数は特定のサイズのデータ(200万から300万行を処理しています)に対しては回避する必要がありますか? GitHub に関するこの議論から、データフレームでdtypeが混在していることが原因であると信じるようになりましたが、以下の簡単な例では、1つのdtype(float64)を使用している場合でも存在することを示しています。これは私のマシンで36秒かかります: import pandas as pd import numpy as np import time s1 = np.random.randn(2000000) s2 = np.random.randn(2000000) dfa = pd.DataFrame({'s1': s1, 's2': s2}) start = time.time() i=0 for rowindex, row in dfa.iterrows(): i+=1 end = time.time() print end - start applyのようなベクトル化された操作がなぜこれほど速くなるのですか?そこにも行ごとの反復がいくつかあるはずだと思います。 私の場合にiterrowを使用しない方法を理解できません(これは今後の質問のために保存します)。したがって、この繰り返しを常に回避できる場合は、ご連絡いただければ幸いです。個別のデータフレームのデータに基づいて計算を行っています。ありがとうございました! ---編集:実行したいものの簡略版を以下に追加しました--- import pandas as pd …