Per the docs:
eine ganze Zahl i
, gibt die gleichen Werte wie i:i+1
außer die Dimensionalität des zurückgegebenen Objekts wird durch 1
reduziert. Insbesondere gibt ein Auswahltupel mit dem -ten Element einer Ganzzahl (und allen anderen Einträgen :
) das entsprechende Teilarray mit der Dimension N - 1
zurück. Wenn N = 1
dann ist das zurückgegebene Objekt ein Array-Skalar.
Wenn somit Zeigte eine ganze Zahl ist, der Wert (e) an diesem Index ist (sind) zurückgeführt und die entsprechende Achse entfernt wird. In einer Dimension ist das Verhalten wie man erwarten würde:
In [6]: a = np.arange(5); a
Out[6]: array([0, 1, 2, 3, 4])
In [7]: a[2]
Out[7]: 2
In [8]: a[2].shape
Out[8]:()
a
1-dimensional ist, a[2]
0-dimensional.
in höheren Dimensionen, wenn X
4-Dimensions- und Form (1783,1,96,96)
, dann X[11,:,:,:]
gibt alle Werte, wobei die erste Achse Index 11 entspricht, und dann wird die Achse entfernt. So ist X[11,:,:,:].shape
(1,96,96)
.
Wenn die Scheibe einen Bereich angibt, wie a[2:3]
dann alle Werte innerhalb dieses Bereichs werden zurückgegeben und die Achse nicht entfernt wird:
In [9]: a[2:3]
Out[9]: array([2])
In [10]: a[2:3].shape
Out[10]: (1,)
Ähnlich hat X[11:12, :, :, :]
(1,1,96,96)
formen.
Oder Sie können 'X [[11],:] .shape' sagen – jez