Ich bin gerade über ein numpiges Indexverhalten gestolpert, das ich nicht ganz verstehe. Es scheint, als würde numpy die Reihenfolge meiner Achsen abhängig vom Indexierungsschema ändern. Leider kann ich in der Dokumentation keine Erklärung für das Folgende finden. Könnte mir jemand erklären, was vor sich geht?Numpy Indizierung reorders Array
# This is expected: dimension 1 is reduced to length 1:
print np.ndarray(shape=(3,3,3,3))[:, [0], :, :].shape
>>> (3, 1, 3, 3)
# This is the unexpected behavior:
print np.ndarray(shape=(3,3,3,3))[:, [0], :, 0].shape
>>> (1, 3, 3)
Ich hätte erwartet, dass der zweite Befehl (3, 1, 3) ergeben. Warum ändert sich meine Form der ersten beiden Dimensionen, wenn ich ein Element von der vierten her wähle? Vielen Dank im Voraus!
Edit: Ich sehe dies auf numpy 1.11.0 mit Python 2.7.11
Obwohl obskur, ist dieses Verhalten [dokumentiert] (http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#combining-advanced-and-basic-indexing). –