Hinzufügen von ravel
als weitere Alternative für zukünftige Suchende. Aus den Dokumenten,
Dies ist äquivalent zu reshape (-1, order = order).
Da das Array 1xN ist, sind alle folgenden Elemente äquivalent:
arr1d = np.ravel(arr2d)
arr1d = arr2d.ravel()
arr1d = arr2d.flatten()
arr1d = np.reshape(arr2d, -1)
arr1d = arr2d.reshape(-1)
arr1d = arr2d[0, :]
Die Antwort von mtrw macht den Trick für ein Array, das tatsächlich nur eine Zeile wie dieses hat. Wenn Sie jedoch ein 2D-Array mit Werten in zwei Dimensionen haben, können Sie es wie folgt konvertieren
%Vor% Von hier aus finden Sie die Form des Arrays mit np.shape
und finden das Produkt davon mit np.product
das ergibt jetzt die Anzahl der Elemente. Wenn Sie jetzt np.reshape()
verwenden, um das Array auf eine Länge der Gesamtanzahl von Elementen umzuformen, haben Sie eine Lösung, die immer funktioniert.
Verwenden Sie numpy.flat
%Vor%
Die flat
-Eigenschaft gibt einen 1D-Iterator über Ihr 2D-Array zurück. Diese Methode wird auf eine beliebige Anzahl von Zeilen (oder Dimensionen) verallgemeinert. Für große Arrays kann es wesentlich effizienter sein als eine abgeflachte Kopie.
Tags und Links matplotlib numpy