"out_max"の各要素の位置を配列 "out_der"で検索しようとしています。私は "out_pos"と呼ばれる配列に各値の位置のインデックスを格納します。 「out_der」は400×300×60×27の配列であり、「out_max」は400×300×60の配列です。 「out_pos」も400x300x60の配列でなければなりません。私は "out_der"をリストに変換して.index()
を使ってみましたが、それはうまくいきませんでした(リストには400要素しかないので)。配列値の位置を見つけようとするとインデックスエラーが発生する
INPUT:これが私の現在の試みです
out_max=[]
out_pos=[]
out_max=np.amax(out_der,axis=3)
for i in range(0,len(out_der)-1):
out_pos[i]=np.where(out_der==out_max[i])[0]
しかし、私はこのエラーを取得する:
OUTPUT:
18 for i in range(0,len(out_der)-1):
---> 19 out_pos[i]=np.where(out_der==out_max[i])[0]
IndexError: list assignment index out of range
'out_pos'は最初は空のリストなので、すべてのインデックスが範囲外です。あなたはたぶん 'append'をしたいと思うかもしれませんが、私はあなたがしていることを明確にしていません。 – roganjosh
前のコメントに加えて、 'out_pos =' [len(out_der) 'として' out_pos'を初期化します。 – DyZ
つまり、エラーは 'out_pos [i] ='から出てきます。それは何もnumpyとは関係ありません。 – roganjosh