indexação numérica de array numpy em mais de uma dimensão

Tenho certeza de que estou perdendo algo com a indexação de números inteiros e poderia usar alguma ajuda. Digamos que eu crie uma matriz 2D:

>>> import numpy as np
>>> x=np.array(range(24)).reshape((4,6))
>>> x
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

Posso selecionar as linhas 1 e 2 com:

>>> x[[1,2],:]
array([[ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17]])

Ou a coluna 1 das linhas 2 e 3 com:

>>> x[[1,2],1]
array([ 7, 13])

Portanto, faria sentido para mim poder selecionar as colunas 3, 4 e 5 das linhas 1 e 2 com isso:

>>> x[[1,2],[3,4,5]]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: shape mismatch: objects cannot be broadcast to a single shape

E, em vez disso, preciso fazer isso em duas etapas:

>>> a=x[[1,2],:]
>>> a
array([[ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17]])
>>> a[:,[3,4,5]]
array([[ 9, 10, 11],
       [15, 16, 17]])

Vindo de R, minhas expectativas parecem estar erradas. Você pode confirmar que isso realmente não é possível em uma etapa ou sugerir uma alternativa melhor? Obrigado!

EDIT: observe que minha escolha de linhas e colunas no exemplo é consecutiva, mas elas não precisam ser. Em outras palavras, a indexação de fatia não serve para o meu caso.

questionAnswers(2)

yourAnswerToTheQuestion