Atualmente, estou tentando aprender Numpy e Python. Dada a seguinte matriz:
import numpy as np
a = np.array([[1,2],[1,2]])
Existe uma função que retorna as dimensões de a
(ega é uma matriz de 2 por 2)?
size()
retorna 4 e isso não ajuda muito.
python
arrays
numpy
dimensions
homem livre de morgan
fonte
fonte
shape
, em NumPy. O que NumPy chama de dimensão é 2, no seu caso (ndim
). É útil conhecer a terminologia usual do NumPy: isso facilita a leitura dos documentos!Respostas:
É
.shape
:Portanto:
fonte
shape
pode ser descrito com mais precisão como um atributo do que como uma função , pois não é chamado usando a sintaxe da chamada de função.property
ela própria seja uma classe,ndarray.shape
não é uma classe, é uma instância do tipo de propriedade.Primeiro:
Por convenção, no mundo Python, o atalho para
numpy
énp
, então:Segundo:
Em Numpy, dimensão , eixo / eixo , forma estão relacionados e, às vezes, conceitos semelhantes:
dimensão
Em Matemática / Física , dimensão ou dimensionalidade é definida informalmente como o número mínimo de coordenadas necessárias para especificar qualquer ponto dentro de um espaço. Mas em Numpy , de acordo com o documento numpy , é o mesmo que eixo / eixos:
eixo / eixos
a enésima coordenada para indexar um
array
em Numpy. E matrizes multidimensionais podem ter um índice por eixo.forma
descreve quantos dados (ou o intervalo) ao longo de cada eixo disponível.
fonte
Também funciona se a entrada não for uma matriz numpy, mas uma lista de listas
Ou uma tupla de tuplas
fonte
np.shape
primeiro transforma seu argumento em uma matriz, se não tiver o atributo shape, por isso funciona nos exemplos de lista e tupla.Você pode usar .shape
fonte
Você pode usar
.ndim
para dimensão e.shape
conhecer a dimensão exataVocê pode alterar a dimensão usando a
.reshape
funçãofonte
O
shape
método requer quea
seja um ndarray Numpy. Mas o Numpy também pode calcular a forma de iteráveis de objetos python puros:fonte
a.shape
é apenas uma versão limitada donp.info()
. Veja isso:Fora
fonte