为数组赋值(Python,Numpy)

时间:2018-05-16 13:46:50

标签: python arrays numpy

我已经以

的形式初始化了一个数组
for x in range(0,21000): 
    if np.amax(probability[x]) > 0.2:
        i = i+1

Label = np.zeros(shape=(i,130))

现在使用以下for循环我想将值分配给Label

的每一行
for x in range(0,21000):
    if np.amax(probability[x]) > 0.2:
        Label[i] = [feature[x],y[x],np.amax(probability)[x]]
    i = i+1

其中feature是一个数组128 * 21000。 不幸的是,我一直收到以下错误:

Label[i] = [feature[x],y[x],np.amax(probability)[x]]
IndexError: invalid index to scalar variable.

1 个答案:

答案 0 :(得分:1)

您不希望np.amax使用单个标量值,而是需要一组值。因此,您需要为调用指定特定的轴,如下所示:

np.amax(probability, axis=1)

您可以看到docs

中使用axis参数的示例

或者,如果您确实想要使用标量值,请不要使用[x]中的np.amax(probability)[x]对其进行索引