NumPy - Atributos de matriz

En este capítulo, discutiremos los diversos atributos de matriz de NumPy.

ndarray.shape

Este atributo de matriz devuelve una tupla que consta de dimensiones de matriz. También se puede utilizar para cambiar el tamaño de la matriz.

Ejemplo 1

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

La salida es la siguiente:

(2, 3)

Ejemplo 2

# this resizes the ndarray 
import numpy as np 

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

La salida es la siguiente:

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

Ejemplo 3

NumPy también proporciona una función de remodelación para cambiar el tamaño de una matriz.

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

La salida es la siguiente:

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

ndarray.ndim

Este atributo de matriz devuelve el número de dimensiones de matriz.

Ejemplo 1

# an array of evenly spaced numbers 
import numpy as np 
a = np.arange(24) 
print a

La salida es la siguiente:

[0 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16 17 18 19 20 21 22 23]

Ejemplo 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

La salida es la siguiente:

[[[ 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 devuelve la longitud de cada elemento de la matriz en bytes.

Ejemplo 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

La salida es la siguiente:

1

Ejemplo 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

La salida es la siguiente:

4

numpy.flags

El objeto ndarray tiene los siguientes atributos. Sus valores actuales son devueltos por esta función.

No Señor. Atributo y descripción
1

C_CONTIGUOUS (C)

Los datos están en un solo segmento contiguo estilo C

2

F_CONTIGUOUS (F)

Los datos están en un solo segmento contiguo estilo Fortran

3

OWNDATA (O)

La matriz posee la memoria que usa o la toma prestada de otro objeto

4

WRITEABLE (W)

Se puede escribir en el área de datos. Establecer esto en False bloquea los datos, haciéndolos de solo lectura

5

ALIGNED (A)

Los datos y todos los elementos están alineados adecuadamente para el hardware.

6

UPDATEIFCOPY (U)

Esta matriz es una copia de alguna otra matriz. Cuando esta matriz se desasigna, la matriz base se actualizará con el contenido de esta matriz

Ejemplo

El siguiente ejemplo muestra los valores actuales de banderas.

import numpy as np 
x = np.array([1,2,3,4,5]) 
print x.flags

La salida es la siguiente:

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