2012-12-18 11 views
5

flattern Ich nehme NDarray Scheiben mit unterschiedlicher Länge und ich möchte, dass mein Ergebnis flach ist. Zum Beispiel:Wie man ein numpy Array von dtype Objekt

a = np.array(((np.array((1,2)), np.array((1,2,3))), (np.array((1,2)), np.array((1,2,3,4,5,6,7,8))))) 

Gibt es einen geraden Weg durch die Verwendung numpy Funktionalitäten dieses Array flach machen (ohne Schleife)?

+0

In diesem Beispiel, was erwartest du das Ergebnis sein? – NPE

+2

Die Verwendung eines NumPy-Arrays von dtype 'object' hilft nicht dabei, die Dinge zu beschleunigen. Sie ähneln Python-Listen und sind nur nützlich, wenn Sie etwas benötigen, das die gleiche Schnittstelle wie ein NumPy-Array bereitstellt. Was ist Ihr Ziel bei der Verwendung dieser seltsamen Datenstruktur? –

+0

Ich habe Tags für mein Signal in zufälligen Intervallen. Slicing gibt mir diesen Typ zurück (seit wann Slices unterschiedliche Längen haben). – jgrynczewski

Antwort

11

Wie wäre:

In [23]: np.hstack(a.flat) 
Out[23]: array([1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 4, 5, 6, 7, 8]) 
+0

Funktioniert. Vielen Dank – jgrynczewski

Verwandte Themen