Numerosas dimensiones de matriz
¿Cómo obtengo las dimensiones de una matriz? Por ejemplo, esto es 2x2:
a = np.array([[1, 2], [3, 4]])
Úselo .shape
para obtener una tupla de dimensiones de matriz:
>>> a.shape
(2, 2)
Primero:
Por convención, en el mundo Python, el atajo numpy
es np
, entonces:
In [1]: import numpy as np
In [2]: a = np.array([[1,2],[3,4]])
Segundo:
En Numpy, dimensión , eje/ejes y forma son conceptos relacionados y, a veces, similares:
dimensión
En Matemáticas/Física , dimensión o dimensionalidad se define informalmente como el número mínimo de coordenadas necesarias para especificar cualquier punto dentro de un espacio. Pero en Numpy , según el documento de numpy , es lo mismo que eje/ejes:
En Numpy las dimensiones se llaman ejes. El número de ejes es el rango.
In [3]: a.ndim # num of dimensions/axes, *Mathematics definition of dimension*
Out[3]: 2
eje/ejes
la enésima coordenada para indexar un array
en Numpy. Y las matrices multidimensionales pueden tener un índice por eje.
In [4]: a[1,0] # to index `a`, we specific 1 at the first axis and 0 at the second axis.
Out[4]: 3 # which results in 3 (locate at the row 1 and column 0, 0-based index)
forma
describe cuántos datos (o el rango) a lo largo de cada eje disponible.
In [5]: a.shape
Out[5]: (2, 2) # both the first and second axis have 2 (columns/rows/pages/blocks/...) data
import numpy as np
>>> np.shape(a)
(2,2)
También funciona si la entrada no es una matriz numerosa sino una lista de listas.
>>> a = [[1,2],[1,2]]
>>> np.shape(a)
(2,2)
O una tupla de tuplas
>>> a = ((1,2),(1,2))
>>> np.shape(a)
(2,2)
Usar .shape
:
In: a = np.array([[1,2,3],[4,5,6]])
In: a.shape
Out: (2, 3)
In: a.shape[0] # x axis
Out: 2
In: a.shape[1] # y axis
Out: 3
Puede utilizar .ndim
para la dimensión y .shape
para conocer la dimensión exacta:
>>> var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]])
>>> var.ndim
2
>>> var.shape
(2, 6)
Puede cambiar la dimensión usando .reshape
la función:
>>> var_ = var.reshape(3, 4)
>>> var_.ndim
2
>>> var_.shape
(3, 4)