arr=np.arange(2)
boo=np.array([True,False,True])
arr[boo]# 報錯
IndexError: boolean index did not match indexed array along dimension 0`<布爾索引和索引數組在0維度不匹配??? 0維度代表兩者的維度嗎???>`; dimension is2 but corresponding boolean dimension is3
In [28]: arr
Out[28]:
array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15],[16,17,18,19],[20,21,22,23],[24,25,26,27]])# 在此基礎上,我們還可以添加常規的索引和切片操作
In [38]: arr[names =='Ben',3]# 先提取出屬於BEN的錢,再選擇第三列數據
Out[38]: array([3,11,27])
In [39]: arr[names =='Ben',1:4]#..., 切片操作
Out[39]:
array([[1,2,3],[9,10,11],[25,26,27]])
花式索引
arr = np.array([['zero','one','two','three','four'],['wind']])
arr[1,0]
IndexError: too many indices for array
將數組arr的shape變成5*5後,可以索引到wind