Outils pour utilisateurs

Outils du site


prog:python:numpy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:python:numpy [2020/04/16 14:34] jbpuelprog:python:numpy [2020/04/19 12:56] (Version actuelle) jbpuel
Ligne 1: Ligne 1:
 ====== Mini tutoriel de la bibliothèque NumPy ====== ====== Mini tutoriel de la bibliothèque NumPy ======
  
-NumPy est une bibliothèque dédiée à la manipulation de matrices.\\ +Un tuto complet se trouve sur le [[https://numpy.org/devdocs/user/absolute_beginners.html|site officiel]]\\ 
-Le principal objet que NumPy met à disposition est le tableau, de contenu homogène, de dimension n.\\+Un autre très bon tuto [[https://www.tutorialspoint.com/numpy/index.htm|ici]]\\ 
 +En français un tuto plutôt orienté [[http://math.mad.free.fr/depot/numpy/essai.html|maths]] ou bien [[http://python.physique.free.fr/|physique]] 
 + 
 +NumPy est une bibliothèque dédiée à la manipulation de tableaux, vecteurs et matrices.\\ 
 +Le principal objet que NumPy met à disposition est le **tableau**, de contenu **homogène**, de **dimension n**.\\
 Contrairement aux listes, cette structure n'est pas dynamique.\\ Contrairement aux listes, cette structure n'est pas dynamique.\\
 Un tableau est indexé par un tuple d'entiers non négatifs.\\ Un tableau est indexé par un tuple d'entiers non négatifs.\\
Ligne 22: Ligne 26:
     * on peut préciser le type ''%%np.empty((2,3),dtype=np.float128)%%''     * on peut préciser le type ''%%np.empty((2,3),dtype=np.float128)%%''
   * rempli avec un itérable : ''np.arange(10,30,5)'' (pas 5) ou ''np.linspace(0,2,9)'' (9 valeurs en tout)   * rempli avec un itérable : ''np.arange(10,30,5)'' (pas 5) ou ''np.linspace(0,2,9)'' (9 valeurs en tout)
 +
 +Accéder aux éléments :
 +
 +  * Avec un indice entre crochets : ''toto[0]''
 +  * A partir de 2 dimensions, on peut écrire ''toto[i,j]'' ou ''toto[i][j]''
 +  * On peut extraire un sous-tableau avec un slice sur les indices
 +    * Mais attention ! une modification du sous-tableau se fait aussi sur le tableau
 +<code python>
 +a=np.array([1, 2, 3, 4, 5])
 +b=a[1:3]
 +b[1]=0
 +print(a)
 +</code>
 +Produit ce résultat. Étonnant, non ?\\
 +''array([1, 2, 0, 4, 5])''
  
 Effectuer des calculs : Effectuer des calculs :
Ligne 28: Ligne 47:
 Par exemple : Par exemple :
 <code python> <code python>
-''import numpy as np+import numpy as np
 a,b = np.arange(1.,4.), np.arange(2.,5.) a,b = np.arange(1.,4.), np.arange(2.,5.)
-a*b''+print(a*b)
 </code> </code>
 Produit comme résultat :\\ Produit comme résultat :\\
 ''array([ 2.,  6., 12.])'' ''array([ 2.,  6., 12.])''
  
 +Autres fonctions :
 +
 +  * np.sort(tab)
 +  * %%np.concatenate((a, b))%%
 +  * np.max(tab)
 +  * np.min(tab)
 +  * np.sum(tab)
 +  * np.mean(tab)
 +  * np.std(tab)
 +  * np.prod(tab)
  
 +Algèbre linéaire :
  
 +  * np.transpose(a) # Transposée de a
 +  * np.linalg.inv(a) # Inverse de a
 +  * u = np.eye(3) # Matrice identité (ici 3x3)
 +  * mat1 @ mat2 # Produit matriciel (ou produit scalaire en dimension 1)
 +  * mat1.dot(mat2) # Même chose
 +  * np.trace(a) # Trace
 +  * np.linalg.eig(j) # Valeurs propres
  
  
  
prog/python/numpy.1587047651.txt.gz · Dernière modification : 2020/04/16 14:34 de jbpuel