Wie zu verwenden numpy ist hstack?

Habe ich eine große numpy.ndarray array, das ich extrahieren möchten, der 4. und 5. Spalten und die Spalten in ein 2D-array. Die [i,0] - element sollte der Wert der 4. Spalte und [i,1] sollte das element aus der 5. Spalte.

Ich versuchen, mit numpy.hstack Funktion, dies zu tun.

a = numpy.asarray([1, 2, 3, 4, 5])
for i in range(5):
    a = numpy.vstack([a, numpy.asarray([1, 2, 3, 4, 5])])

combined = np.hstack([a[:,3], a[:,4]])

Jedoch, diese einfach gibt mir eine nx1-array. Ich habe versucht mehrere Ansätze mit verketten, die Aussehen wie diese Beispiele:

combined = np.concatenate([a[:,3], a[:,4]])

combined = np.concatenate([a[:,3], a[:,4]], axis=1)

combined = np.concatenate([a[:,3].T, a[:,4].T])

Fühle ich mich wie hstack ist die Funktion die ich will, aber ich kann nicht scheinen, um herauszufinden, wie man es mir eine nx2-array. Kann jemand mich in die richtige Richtung? Jede Hilfe ist willkommen.

  • Ein "feature" oder was auch immer mit numpy-arrays ist, dass die Umsetzung (.T) ein 1-dimensionales array zurück das gleiche. Wenn Sie wirklich wollen, zu verwenden hstack, die Sie benötigen, um Ihnen mehrdimensionale ersten (oder verwenden Sie atleast_2d oder ähnliches), oder verwenden Sie vstack an und transponieren Sie das Ergebnis.
  • Auch check this out für np.column_stack: stackoverflow.com/q/14741061/2379410
InformationsquelleAutor Sterling | 2013-11-19
Schreibe einen Kommentar