NumPy - Atributos de matriz
Neste capítulo, discutiremos os vários atributos de array de NumPy.
ndarray.shape
Este atributo de matriz retorna uma tupla que consiste em dimensões de matriz. Também pode ser usado para redimensionar a matriz.
Exemplo 1
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print a.shape
O resultado é o seguinte -
(2, 3)
Exemplo 2
# this resizes the ndarray
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a
O resultado é o seguinte -
[[1, 2]
[3, 4]
[5, 6]]
Exemplo 3
NumPy também fornece uma função de remodelagem para redimensionar uma matriz.
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b
O resultado é o seguinte -
[[1, 2]
[3, 4]
[5, 6]]
ndarray.ndim
Este atributo de matriz retorna o número de dimensões de matriz.
Exemplo 1
# an array of evenly spaced numbers
import numpy as np
a = np.arange(24)
print a
O resultado é o seguinte -
[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
Exemplo 2
# this is one dimensional array
import numpy as np
a = np.arange(24)
a.ndim
# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions
O resultado é o seguinte -
[[[ 0, 1, 2]
[ 3, 4, 5]
[ 6, 7, 8]
[ 9, 10, 11]]
[[12, 13, 14]
[15, 16, 17]
[18, 19, 20]
[21, 22, 23]]]
numpy.itemsize
Este atributo de matriz retorna o comprimento de cada elemento da matriz em bytes.
Exemplo 1
# dtype of array is int8 (1 byte)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize
O resultado é o seguinte -
1
Exemplo 2
# dtype of array is now float32 (4 bytes)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize
O resultado é o seguinte -
4
numpy.flags
O objeto ndarray possui os seguintes atributos. Seus valores atuais são retornados por esta função.
Sr. Não. | Atributo e descrição |
---|---|
1 | C_CONTIGUOUS (C) Os dados estão em um único segmento contíguo de estilo C |
2 | F_CONTIGUOUS (F) Os dados estão em um único segmento contíguo no estilo Fortran |
3 | OWNDATA (O) A matriz possui a memória que usa ou a pega emprestada de outro objeto |
4 | WRITEABLE (W) A área de dados pode ser gravada. Definir como False bloqueia os dados, tornando-os somente leitura |
5 | ALIGNED (A) Os dados e todos os elementos são alinhados de forma adequada para o hardware |
6 | UPDATEIFCOPY (U) Este array é uma cópia de algum outro array. Quando este array é desalocado, o array base será atualizado com o conteúdo deste array |
Exemplo
O exemplo a seguir mostra os valores atuais dos sinalizadores.
import numpy as np
x = np.array([1,2,3,4,5])
print x.flags
O resultado é o seguinte -
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False