teachpyx.examples.numpysex¶
- teachpyx.examples.numpysex.numpy_matrix2list(mat)[source][source]¶
Convertit une matrice numpy en list.
- Paramètres:
mat – matrix
- Renvoie:
liste de listes
opérations avec numpy.matrix
Voici quelques écritures classiques avec le module numpy.
import numpy as np mat = np.matrix ( [[1,2],[3,4]] ) # crée une matrice 2*2 s = mat.shape # égale à (nombre de lignes, nombre de colonnes) l = mat [0,:] # retourne la première ligne c = mat [:,0] # retourne la première colonne iv = mat.I # inverse la matrice mat [:,0] = mat [:,1] # la première ligne est égale à la seconde o = np.ones ( (10,10) ) # crée un matrice de 1 10x10 d = np.diag (mat) # extrait la diagonale d'une matrice dd = np.matrix (d) # transforme d en matrice t = mat.transpose () # obtient la transposée e = mat [0,0] # obtient de première élément k = mat * mat # produit matriciel k = mat @ mat # produit matriciel à partir de Python 3.5 m = mat * 4 # multiplie la matrice par 4 mx = np.max (mat [0,:]) # obtient le maximum de la première ligne s = np.sum (mat [0,:]) # somme de la première ligne mat = np.diagflat ( np.ones ( (1,4) ) ) print (mat) # matrice diagonale t = mat == 0 print (t) # matrice de booléens mat [ mat == 0 ] = 4 print (mat) # ... print (iv) # ...
- teachpyx.examples.numpysex.numpy_types()[source][source]¶
Returns the list of numpy available types.
- Renvoie:
list of types
To know a little bit more about those types.
Quels sont les types que numpy supporte ?
Lire basic types. numpy propose plus de types que Python, les mêmes que le langage C (langage de son implémentation). Les programmeurs cherchent toujours le plus petit type possible pour représenter un nombre. Si une matrice ne possède que des entiers entre 0 et 255, on peut utiliser le type numpy.uint8 qui est codé sur un octet. Cela explique pourquoi beaucoup de libraires de machine learning sont codées des numpy.float32, soit 4 octets plutôt que numpy.float64 ou double. Deux raisons à cela, les numpy.float32 prennent deux fois moins de place en mémoire. Le coût des calculs avec des double est plus coûteux avec les GPU. Lire Explaining FP64 performance on GPUs.