Prenons un exemple avec un tableau (ce qui suit reste valable pour les matrices) :
>>> from numpy import * >>> a = arange(10).reshape(2,5) >>> a array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
Les objets array et matrix ont un certain nombre d'attributs élémentaires :
>>> a.shape (2, 5)
>>> a.ndim 2
>>> a.size 10
>>> a.dtype.name 'int32'
>>> a.itemsize 4
Ce qui suit reste valable en remplaçant array par matrix.
Un array est constitué d'éléments d'un seul et même type. Ainsi
>>> array([1, 2.0, -3j])
engendre un array de trois complexes :
>>> print array([1, 2.0, -3j]).dtype.name complex128
Les différents types possibles sont : Character, UnsignedInt8, Int, Int0, Int8, Int16, Int32, Int64, Int128, Float, Float0, Float8, Float16, Float32, Float64, Float128, Complex, Complex0, Complex8, Complex16, Complex32, Complex64, Complex128.
Les nombres non nuls qui suivent éventuellement les types correspondent au nombre de "mots" autorisés pour lesdits types.
Si on souhaite forcer le type de la matrice :
>>> print array([1,2,3], Float) [1. 2. 3.]
On peut enfin constituer des matrices de type PyObject : objet quelconque en Python. On peut ainsi mélanger les types.
On peut passer d'un type à un autre avec la méthode astype :
>>> aa=matrix(([0,1],[1,3])) >>> print aa.dtype.name int32 >>> bb=aa.astype('float') >>> print aa.dtype.name, bb.dtype.name int32 float64