python - tutorial - Dimensiones de matrices numpy
python matrices tutorial (6)
Primero:
Por convención, en el mundo de Python, el acceso directo para numpy
es np
, por lo que:
In [1]: import numpy as np
In [2]: a = np.array([[1,2],[3,4]])
Segundo:
En Numpy, la dimensión , los ejes / ejes , la forma están relacionados y, a veces, conceptos 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 , de acuerdo con el número de documentos , es lo mismo que ejes / ejes:
En numpy las dimensiones se llaman ejes. El número de ejes es rango.
In [3]: a.ndim # num of dimensions/axes, *Mathematics definition of dimension*
Out[3]: 2
ejes / ejes
la coordenada n para indexar una 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
Actualmente estoy tratando de aprender Numpy y Python. Dada la siguiente matriz:
import numpy as N
a = N.array([[1,2],[1,2]])
¿Existe una función que devuelva las dimensiones de a
(ega es una matriz de 2 por 2)?
size()
devuelve 4 y eso no ayuda mucho.
El método de la shape
requiere que sea un ndarray Numpy. Pero Numpy también puede calcular la forma de los objetos puros de python:
np.shape([[1,2],[1,2]])
Puede usar .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
# displays 2
var.shape
# display 6, 2
Puedes cambiar la dimensión usando la función .reshape
var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]]).reshape(3,4)
var.ndim
#display 2
var.shape
#display 3, 4
Puedes 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
import numpy as np
>>> np.shape(a)
(2,2)
También funciona si la entrada no es una matriz numpy 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)