0

再配列データを ndarray にコピーし、いくつかの計算を行い、更新された値で ndarray を返すことができました。

次に、 のappend_fields()機能を発見numpy.lib.recfunctionsし、元の再配列に 2 つのフィールドを単純に追加して、計算された値を保持する方がはるかにスマートであると考えました。

これを行ったとき、操作がはるかに遅いことがわかりました。時間を計る必要はありませんでした。ndarray ベースのプロセスは、rearray では 1 分以上かかるのに比べて数秒かかり、テスト配列は小さく、<10,000 行です。

これは典型的なものですか?ndarray アクセスは recarray よりもはるかに高速ですか? フィールド名によるアクセスによるパフォーマンスの低下を予想していましたが、それほどではありませんでした。

4

1 に答える 1