アレックスはメモリ効率に言及し、ロベルトは利便性に言及し、これらは両方とも良い点です。さらにいくつかのアイデアについては、速度と機能について説明します。
機能:NumPy、FFT、たたみ込み、高速検索、基本統計、線形代数、ヒストグラムなどで多くの機能が組み込まれています。実際、FFTなしで生きられるのは誰ですか?
速度:リストとNumPy配列の合計を計算するテストを次に示します。NumPy配列の合計が10倍速いことを示しています(このテストでは、走行距離は異なる場合があります)。
from numpy import arange
from timeit import Timer
Nelements = 10000
Ntimeits = 10000
x = arange(Nelements)
y = range(Nelements)
t_numpy = Timer("x.sum()", "from __main__ import x")
t_list = Timer("sum(y)", "from __main__ import y")
print("numpy: %.3e" % (t_numpy.timeit(Ntimeits)/Ntimeits,))
print("list: %.3e" % (t_list.timeit(Ntimeits)/Ntimeits,))
私のシステムでは(バックアップを実行している間)、次のようになります:
numpy: 3.004e-05
list: 5.363e-04