我正试图在数组“out_der”的“out_max”中找到每个元素的位置。我想将每个值的位置索引存储在名为“out_pos”的数组中。 “out_der”是400x300x60x27阵列,“out_max”是400x300x60阵列。 “out_pos”也应该是400x300x60阵列。我尝试将“out_der”转换为列表并使用.index()
,但那不起作用(因为列表中只有400个元素)。这是我目前的尝试:尝试查找数组值的位置时发生索引错误
输入:
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'在开始时是一个空列表,所以所有的索引都超出范围。你可能想要“追加”,但我不确定我清楚你在做什么。 – roganjosh
除了之前的注释:将'out_pos'初始化为'out_pos = [[]] * len(out_der)''。 – DyZ
换句话说,错误来自'out_pos [i] ='。这与numpy无关。 – roganjosh