This:
x[:, 1]
means “take all indices of x
along the first axis, but only index 1 along the second”.
This:
x[:][1]
means “take all indices of x
along the first axis (so all of x
), then take index 1 along the first axis of the result”. You’re applying the 1
to the wrong axis.
x[1][2]
and x[1, 2]
are only equivalent because indexing an array with an integer shifts all remaining axes towards the front of the shape, so the first axis of x[1]
is the second axis of x
. This doesn’t generalize at all; you should almost always use commas instead of multiple indexing steps.