numpy - 2d-array-Indizierung

Laut docs numpy ' s Standard-Verhalten ist die index-arrays ersten Zeilen dann durch Spalten:

a = numpy.arange(6).reshape(3,2)

[[0 1]
 [2 3]
 [4 5]]

print a[0][1] # is 1

Möchte ich den index des Arrays mit dem geometrisch orientierten-Konvention a[x][y], als in der x-Achse und y-Achse. Wie kann ich die Indizierung, um ohne änderung das array so gestalten, dass a[0][1] zurückkehren würde 2?

  • Ich habe mir die Terminologie aus der Doku (siehe link): "Matrix-notation verwendet der erste index, um anzuzeigen, welche Zeile ausgewählt wird und der zweite index angeben, welche Spalte ausgewählt ist. Dies ist gegenüber dem geometrisch orientierten-Konvention für die Bilder, wo die Menschen im Allgemeinen denken, der erste index repräsentiert die x-position (d.h., Spalte), und die zweite repräsentiert die y-position (d.h., row)"
  • Upps, war etwas anderes nachdenken.
  • Nur als Hinweis, wenn die Indizierung mehrdimensionaler arrays sollten Sie verwenden die notation a[i,j] anstelle von a[i][j]. Ich finde auf meinem Rechner, dass das später ist 2x langsamer.
  • Danke für den Tipp. Es sieht mehr lesbar auch.
InformationsquelleAutor armandino | 2011-03-03
Schreibe einen Kommentar