Angenommen, ich habe ein Array a
:
a = np.array([[1,2,3], [4,5,6]])
array([[1, 2, 3],
[4, 5, 6]])
Ich möchte es in ein 1D-Array (dh einen Spaltenvektor) konvertieren:
b = np.reshape(a, (1,np.product(a.shape)))
aber das kehrt zurück
array([[1, 2, 3, 4, 5, 6]])
Das ist nicht dasselbe wie:
array([1, 2, 3, 4, 5, 6])
Ich kann das erste Element dieses Arrays verwenden, um es manuell in ein 1D-Array zu konvertieren:
b = np.reshape(a, (1,np.product(a.shape)))[0]
Dazu muss ich jedoch wissen, wie viele Dimensionen das ursprüngliche Array hat (und [0] verketten, wenn ich mit höheren Dimensionen arbeite).
Gibt es eine dimensionsunabhängige Möglichkeit, einen Spalten- / Zeilenvektor von einem beliebigen ndarray abzurufen?
ravel()
eine Ansicht zurück, dies ist jedoch nicht immer der Fall. Es gibt Fälle, in denenravel()
eine Kopie zurückgegeben wird. </ Pedantic>