Arreglos Multidimensionales
En el capítulo anterior vimos arreglos de una sola dimensión. Sin embargo, podemos crear arreglos de varias dimensiones, similar a como podemos crear listas de Python que contienen otras listas internamente. Por ejemplo, creemos un arreglo de dos dimensiones (2-D):
Conociendo la forma de un arreglo
En el capítulo anterior vimos el atributo size
para conocer el número de elementos de un arreglo. Este método sigue aplicando para arreglos multidimensionales:
Sin embargo, a veces es útil también saber la forma de un arreglo, es decir, la longitud de cada una de las dimensiones. Para esto podemos utilizar el atributo shape
:
Creando arreglos multidimensionales
En el capítulo anterior vimos cómo crear arreglos utilizando métodos como arange
, ones
y zeros
, entre otros. Algunos de estos métodos reciben la forma del arreglo como primer argumento:
Otros métodos como arange
no permiten especificar la forma del arreglo final. Sin embargo, podemos cambiar la forma de un arreglo como veremos a continuación.
Cambiando la forma de un arreglo
Para cambiar la forma de un arreglo utilizamos el método reshape
. Por ejemplo, aunque el método arange
no permite especificar la forma, podemos cambiar la forma con reshape
:
Obteniendo valores de un arreglo multidimensional
Para obtener los valores de un arreglo multidimensional debemos especificar los índices en cada dimensión. Por ejemplo, para obtener un valor en un arreglo de dos dimensiones debemos pasar dos índices:
Para un arreglo de tres dimensiones pasaríamos tres índices, y así sucesivamente.
Si queremos seleccionar la columna entera pasamos dos puntos (:
) como primer índice:
Si queremos seleccionar la fila entera pasamos dos puntos (:
) como segundo índice:
Podemos incluso seleccionar rangos dentro de las filas y las columnas:
Multiplicando arreglos
Para realizar la multiplicación entre dos arreglos utiliza el método matmul
o utilizamos el operador @
:
A esta multiplicación se le llama también producto de matrices o producto punto, y es diferente a la multiplicación elemento a elemento. Veamos otro ejemplo:
Si queremos multiplicar elemento a elemento utilizaríamos el operador asterisco (*
):
Transponer un arreglo
Para transponer un arreglo utiliza el método transpose
o el atributo T
:
Cargando y guardando arreglos en archivos CSV
Para cargar y guardar arreglos en CSV (archivos separados por coma) utiliza los métodos loadtxt
y savetxt
.
Si necesitamos manejar datos faltantes es mejor utilizar el método genfromtxt
.
Last updated