2

x座標のシーケンスであり、ytpl[0]座標のシーケンスであるようなシーケンスのタプルで numpy 配列にインデックスを付けることができます。タプルを使用して配列にインデックスを付けるだけで済みます 。tple[1]other_array[tpl]

現在、ベクトルがx値に対応し、yar[0]値に対応するように、座標が 2D 配列に格納されています。ar[1]

現在、other_arrayタプルを作成してインデックスを作成しています: other_array((ar[0], ar[1])). 残念ながら、この操作はタイトなループで実行されているため、パフォーマンスを絞り出すことができれば、非常に有益です。タプルの作成を 10^8 回実行すると、オーバーヘッドが少し増える可能性があります。このようなxy座標のマトリックスを使用してインデックスを作成する、より高速でnumpythonicな方法はありますか?

どうもありがとうございました!

4

1 に答える 1

1

numpy 配列を別の配列でインデックス付けできるため、タプルを作成する必要はありません。例えば:

In [199]: other_array
Out[199]: 
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])

In [200]: ar
Out[200]: 
array([[0, 2, 1],
       [1, 3, 0]])

In [201]: other_array[ar[0], ar[1]]
Out[201]: array([ 1, 13,  5])

それがあなたの質問に答えない場合は、現在何をしているのかを示す簡単な実例を質問に含めていただけますか?

于 2013-04-20T02:02:22.630 に答える