为数组赋值(Python,Numpy)

问题描述 投票:1回答:1

我已经初始化了一个数组的形式

for x in range(0,21000): 
    if np.amax(probability[x]) > 0.2:
        i = i+1

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

现在使用以下循环我想将值分配给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.
python arrays numpy
1个回答
1
投票

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

np.amax(probability, axis=1)

你可以看一下axis使用docs论证的例子

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

© www.soinside.com 2019 - 2024. All rights reserved.