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