#4 - Atributos da matriz no NumPy

Neste capítulo, discutiremos os vários atributos da matriz do NumPy.

Imagem de capa

ndarray.shape

Este atributo da matriz retorna uma tupla que consiste em dimensões da 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

A saída é a seguinte -

(2, 3)

Exemplo 2

# isto redimensiona o ndarray
import numpy as np

a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a

A saída é a seguinte -

[[1 2]
 [3 4]
 [5 6]]

Exemplo 3

O NumPy também fornece uma função de remodelação para redimensionar uma matriz.

import numpy as np 
a = np.array([[1,2,3],[4,5,6]]) 
b = a.reshape(3,2) 
print b

A saída é a seguinte -

[[1 2]
 [3 4]
 [5 6]]

ndarray.ndim

Este atributo da matriz retorna o número de dimensões da matriz.

Exemplo 1

# uma matriz de números espaçados igualmente
import numpy as np
a = np.arange(24)
print a

A saída é a 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

# esta é uma matriz dimensional
import numpy as np
a = np.arange(24)
a.ndim

# agora remodelando a matriz
b = a.reshape(2,4,3)
print b
# b tem agora 3 dimensões

A saída é a 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 da matriz retorna o comprimento de cada elemento da matriz em bytes.

Exemplo 1

# o dtype da matriz é int8 (1 byte)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize

A saída é a seguinte -

1

Exemplo 2

# o dtype da matriz agora é float32 (4 bytes)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize

A saída é a seguinte -

4

numpy.flags

O objeto ndarray possui os seguintes atributos. Seus valores atuais são retornados por esta função.

Atributo & Descrição
1

C_CONTIGUOUS (C)

Os dados estão em um único segmento contíguo no 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 empresta de outro objeto

4

WRITEABLE (W)

A área de dados possuir permissão de escrita. Definir como False bloqueia os dados, tornando-os somente leitura

5

ALIGNED (A)

Os dados e todos os elementos estão alinhados adequadamente para o hardware

6

UPDATEIFCOPY (U)

Essa matriz é uma cópia de outra matriz. Quando essa matriz é desalocada, a matriz base será atualizada com o conteúdo dessa matriz

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

A saída é a seguinte -

C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False

Fonte traduzida com adaptações: NumPy - Array Attributes