Selecciones en arrays multidimensionales

Si se trata, por ejemplo, de arrays bidimensionales, los elementos correspondientes a cada índice ya no son escalares, sino arrays unidimensionales (filas).

Partamos, por ejemplo, de este array de ejemplo (generado con la función integrada de Python range y redimensionado con la función numpy.reshape que veremos más adelante):

Selecciones en arrays multidimensionales

Recordando que los elementos principales del iterable utilizado para crear el array son interpretados como filas, podemos utilizar un único índice para extraer una de estas filas:

Selecciones en arrays multidimensionales

Al tratarse estos resultados de arrays, podemos volver a realizar selecciones en ellos:

Selecciones en arrays multidimensionales

NumPy nos permite usar un único par de corchetes, separando estos índices por comas, haciendo la selección mucho más simple:

Selecciones en arrays multidimensionales

Estos índices pueden ser rangos del tipo a:b. En el siguiente ejemplo estamos extrayendo los elementos que pertenecen a las filas 1 y 2 y columna 3 (recordemos que los índices comienzan en cero):

Selecciones en arrays multidimensionales

En este otro ejemplo estamos seleccionando los elementos que pertenecen a las filas 1 y 2, y columnas 2 y 3:

Selecciones en arrays multidimensionales

Como ya sabemos, si en un rango se omite el primer valor, se toma el valor cero por defecto. Y si se omite el segundo valor, se consideran todos los elementos hasta el final. Así, en el siguiente ejemplo se extraen los elementos de las filas 0, 1 y 2, y columnas 3 y 4:

Selecciones en arrays multidimensionales

Y, por supuesto, si en un rango se omiten los dos valores, se consideran todos los elementos disponibles:

Selecciones en arrays multidimensionales