質問: numpyを使わずにコードが1行ぐらいで収まり速度も速い 列の抽出をしたいと考えています。 と、言いますのも こちらの記事など他にもかなり調べてみたのですが 配列・要素の挿入・削除等の基本的な計算は numpyを使わない方が速度が速いようです。 np.dot や np.exp(-x) の時はコードが見やすくて助かるのですが numpyを使わずに列の抽出ができないとなれば for文で1つずつ要素を新しい配列に追加していくしかないのかなと 考えています。 解決策でなくとも、みなさんなりのご意見がございましたら頂戴したいです。 なにとぞ、よろしくお願い申し上げます。
回答: jupyter notebook を使うとコードの実行時間を簡単に計ることができます。 numpyの配列を使った方が遥かに速いです。 ``` n = 1000000 %timeit xs = [i for i in range(n)] 10 loops, best of 3: 70.3 ms per loop %timeit xs = [None] * n 100 loops, best of 3: 3.49 ms per loop import numpy as np %timeit a = np.arange(n) 1000 loops, best of 3: 1.08 ms per loop %timeit a = np.zeros(n) The slowest run took 5.87 times longer than the fastest. This could mean that an intermediate result is being cached. 1000 loops, best of 3: 456 μs per loop ``` jupyter notebookをインストールするのが面倒な場合は Google Colabotry が、無料ですぐに使えます。