私は4次元配列を持っていdata.shape = (20,30,33,288)
ます。nに最も近い配列のインデックスを使用して見つけています
index = abs(data - n).argmin(axis = 1), so
index.shape = (20,33,288) with the indices varying.
data[index] = "values"
で使用したいのですが、 「インデックス(8)が範囲外(0 <=インデックス<1)の次元0」というエラーvalues.shape = (20,33,288)
が返されます。そうしないと、この操作の計算に比較的長い時間がかかり、次のような形状のマトリックスが返されます。意味がないようです。data[index]
正しい値の配列を返すにはどうすればよいですか?すなわち、
data[index] = "values" with values.shape = (20,33,288)
これは単純な問題のようですが、簡単な答えはありますか?
最終的にはを見つけたいindex2 = abs(data - n2).argmin(axis = 1)
ので、変数をループすることなく、インデックスのデータをインデックス2のデータに合計するなどの操作を実行できます。これは可能ですか?
私はpython2.7とnumpyバージョン1.5.1を使用しています。