10
Pythonのリストの背景とC++/Javaのようなプログラミング言語のものから、a[i][j]
アプローチを使用して要素を抽出する表記に使用されます。しかし、NumPy
では、通常はa[i,j]
です。両方とも同じ結果を返します。Numpy:a [i] [j]とa [i、j]の違い
両者の根本的な違いは何ですか?どちらが優先されるべきですか?
Pythonのリストの背景とC++/Javaのようなプログラミング言語のものから、a[i][j]
アプローチを使用して要素を抽出する表記に使用されます。しかし、NumPy
では、通常はa[i,j]
です。両方とも同じ結果を返します。Numpy:a [i] [j]とa [i、j]の違い
両者の根本的な違いは何ですか?どちらが優先されるべきですか?
主な違いは、a[i][j]
はまずa[i]
にビューを作成し、そのビューにインデックスを付けます。一方、a[i,j]
インデックス直接a
に、より速くそれを作る:
In [9]: a = np.random.rand(1000,1000)
In [10]: %timeit a[123][456]
1000000 loops, best of 3: 586 ns per loop
In [11]: %timeit a[123,456]
1000000 loops, best of 3: 234 ns per loop
このため、私は後者を好みます。