python np.zeros() 索引问题

在写cousera上的deeplearning.ai课程作业时,遇到了一个问题

    for i in range(A.shape[1]):# A.shape[1]指A的列数
        if A[0,i] > 0.5 : #这里我之前使用的是A[i],但是会报错,说超出范围
            Y_prediction[0,i] = 1
        else :
            Y_prediction[0,i] = 0

这里需要用A[0,i],因为A[i]指的是列表中的第i个元素,而实际上我们是将A的所有元素看作列表中的第一个元素(A只有一行)

具体解释如下:

>>>aaa=np.zeros((1,5))
>>>aaa
array([[ 0.,  0.,  0.,  0.,  0.]])
>>>aaa[1]
IndexError: index 1 is out of bounds for axis 0 with size 1

>>>bbb=[0,0,0,0] #列表bbb,可看作[[0, 0, 0, 0],]
>>>bbb
[[0, 0, 0, 0]]
>>>bbb[0]#列表bbb的第一个元素,为[0, 0, 0, 0]
>[0, 0, 0, 0]

>>>bbb=[[0,0,0,0],[1,1,1,1]]
>>>bbb[1]#列表bbb的第二个元素,为[1, 1, 1, 1]
[1, 1, 1, 1]

猜你喜欢

转载自blog.csdn.net/HaruStone/article/details/88841326