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