提问者:小点点

计算大小时,numpy数组中的索引太多


def reg_interval_size(self, prediction, y, significance):
    idx = int(significance * 100 - 1)
    prediction = prediction[:, :, idx]
    
    prediction_size = prediction[:, 1] - prediction[:, 0]
    
    return prediction_size

其中预测为:

[[-0.08654671  0.7144939 ]
 [-0.61418434  0.18685626]
 [ 0.16648421  0.96752482]
 ...
 [ 0.01177342  0.81281403]
 [ 0.44408509  1.2451257 ]
 [ 0.37012494  1.17116555]]

在下列情况下,我会得到一个索引错误:

reg_interval_size(self, prediction, y, significance= 0.05):

IndexError: too many indices for array

不确定如何纠正这个问题我尝试改变我的函数中的索引,但是仍然没有成功,所以有什么特别的想法吗?

prediction = prediction[:, :, idx[0]]

TypeError: 'int' object is not subscriptable

共1个答案

匿名用户

idx是一个int,因此idx[0]没有意义。

prediction是一个2D数组,因此您不能使用以下3个索引访问它:

prediction = prediction[:, :, idx]

我不知道您想做什么,但请尝试以下prediction=prediction[:,idx]