こんにちは、タプルのリストをインデックスとして使用して、別の配列の値を使用したいと思います
コード :
import numpy as np
elevation_array = np.random.rand(5,5) #creates a random array 5 by 5
sort_idx = np.argsort(elevation_array, axis=None)
new_idx = zip(*np.unravel_index(sort_idx[::-1], elevation_array.shape))
for r, c in new_idx:
r, c = [r, c]
for [x, y], elevation in np.ndenumerate(elevation_array):
print elevation[r, c] # I will want to for other stuff here later on
私もこの方法で試しました:
for r, c in new_idx:
r, c = [r, c]
for elevation in np.ndenumerate(elevation_array):
print elevation[r, c]
次の最初のエラーが発生します。
IndexError: 0-d arrays can only use a single () or a list of newaxes (and a single ...) as an index
私はpythonが初めてなので、どんな助けも素晴らしいでしょうし、説明は本当に役に立ちます
2番目にエラーが発生します:
tuple indices must be integers, not tuple
答え:
for r, c in new_idx:
print elevation_array[r, c]
私はそれを行う方法を知らなかったとは信じられないほど簡単です!:)