Ich habe Schwierigkeiten zu verstehen, wie die Form des resultierenden Arrays nach dem Zerschneiden in numpy bestimmt wird. Zum Beispiel verwende ich den folgenden einfachen Code:Ermitteln der Form des Ergebnisarrays nach dem Schneiden in Numpy
import numpy as np
array=np.arange(27).reshape(3,3,3)
slice1 = array[:,1:2,1]
slice2= array[:,1,1]
print "Content in slice1 is ", slice1
print "Shape of slice1 is ", slice1.shape
print "Content in slice2 is ",slice2
print "Shape of Slice2 is", slice2.shape
Ausgabe dieser ist:
Content in slice1 is
[[ 4]
[13]
[22]]
Shape of slice1 is (3, 1)
Content in slice2 is [ 4 13 22]
Shape of Slice2 is (3,)
In diesen beiden Fällen Inhalt ist gleich (wie es sein sollte). Aber sie unterscheiden sich in den Formen. Also, wie wird die resultierende Form durch numpy bestimmt?
http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html – Kasramvd
Grundsätzlich gilt: Schneiden verringert nicht die Anzahl der Dimensionen, aber die Indizierung mit einem Ganzzahl reduziert die Anzahl der Dimensionen jedes Mal um 1. –
Es gibt ein "Form" -Attribut. Sehen Sie sich 'x .__ array_interface__' an, um es und andere Attribute zu sehen. – hpaulj