was bedeutet ndarray numpy Form tun?
Habe ich eine einfache Frage über die .Form-Funktion, die verwirrt mich sehr.
a = np.array([1, 2, 3]) # Create a rank 1 array
print(type(a)) # Prints "<class 'numpy.ndarray'>"
print(a.shape) # Prints "(3,)"
b = np.array([[1,2,3],[4,5,6]]) # Create a rank 2 array
print(b.shape) # Prints "(2, 3)"
Was hat der .Form genau tun? zählen Sie, wie viele Zeilen, wie viele Spalten,
dann die eine.Form angenommen werden, (1,3), eine Zeile, drei Spalten, richtig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
yourarray.shape
odernp.shape()
odernp.ma.Form()
gibt die Form Ihrer ndarray als Tupel; Und Sie können die Dimensionen der Arrays mityourarray.ndim
odernp.ndim()
.Für eine 1D array, die Form wäre
(n,)
won
ist die Anzahl der Elemente im array.Für eine 2D array, die Form wäre
(n,m)
won
ist die Anzahl der Zeilen undm
ist die Anzahl der Spalten im array.Bitte beachten Sie, dass in 1D Fall würde die Form einfach
(n, )
anstelle von dem, was Sie sagte, als entweder(1, n)
oder(n, 1)
für Zeile und Spalte Vektoren beziehungsweise.Diese Folgen der Konvention, dass:
Für 1D-array zurückgeben und Form Tupel mit nur 1 element (d.h.
(n,)
)Für 2D-array zurückgeben und Form Tupel mit nur 2 Elemente (z.B.
(n,m)
)Für 3D-array zurückgeben und Form Tupel mit nur 3 Elemente (z.B.
(n,m,k)
)Für 4D-array zurückgeben und Form Tupel mit nur 4 Elemente (z.B.
(n,m,k,j)
)und so weiter.
Bitte auch, siehe das Beispiel unten, um zu sehen, wie
np.Form()
odernp.ma.Form()
verhält sich mit 1D arrays und skalaren:P. S.: So, die Form Tupel ist konsistente mit unserem Verständnis der Dimensionen von Raum, zumindest mathematisch.
.shape
und wahrscheinlich auch.ndim
auch: docs.scipy.org/doc/numpy-1.13.0/reference/generated/...Im Gegensatz zu ihm ist die meisten populären kommerziellen Konkurrenten, numpy so ziemlich von Anfang an über die "beliebig-dimensionale" arrays, weshalb der core-Klasse
ndarray
. Sie können überprüfen, dass die Dimensionalität der ein numpy-array mit Hilfe der.ndim
Eigenschaft. Die.shape
Eigenschaft ist ein Tupel der Länge.ndim
mit der Länge der einzelnen Dimensionen. Derzeit numpy kann mit bis zu 32 Abmessungen:Wenn ein numpy-array zufällig 2d wie dein zweites Beispiel, dann ist es angemessen zu denken, es in Bezug auf Zeilen und Spalten. Aber ein 1d-array in numpy ist wirklich 1d, keine Zeilen oder Spalten.
Wenn Sie wollen, so etwas wie eine Zeile oder Spalte vector-Sie können dies erreichen, indem erstellen ein 2d-array mit einer seiner Dimensionen gleich 1.