Aide-mémoire NumPy
Le système NumPy est une extension de calcul numérique open-source pour Python. Cet outil peut être utilisé pour stocker et traiter de grandes matrices, ce qui est beaucoup plus efficace que la structure de liste imbriquée propre à Python (qui peut également être utilisée pour représenter des matrices).
Explication
Utilisez arr pour représenter un objet tableau numpy.
Importer le module
import numpy as npImporter/Exporter
| np.loadtxt(‘file.txt’) | Lire à partir d’un fichier texte |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Lire à partir d’un fichier CSV |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Écrire dans un fichier texte |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Écrire dans un fichier CSV |
Créer un tableau
| np.array([1,2,3]) | Tableau 1D |
| np.array([(1,2,3),(4,5,6)]) | Tableau 2D |
| np.zeros(3) | Tableau 1D de longueur 3 rempli de zéros |
| np.ones((3,4)) | Tableau 3x4 avec toutes les valeurs à 1 |
| np.eye(5) | Tableau 5x5 avec des 1 sur la diagonale et des 0 ailleurs (matrice identité) |
| np.linspace(0,100,6) | Tableau de 6 valeurs espacées uniformément de 0 à 100 |
| np.arange(0,10,3) | Tableau de valeurs de 0 à moins de 10 avec un pas de 3 (ex. [0,3,6,9]) |
| np.full((2,3),8) | Tableau 2x3 avec toutes les valeurs à 8 |
| np.random.rand(4,5) | Tableau 4x5 de nombres flottants aléatoires entre 0 et 1 |
| np.random.rand(6,7)*100 | Tableau 6x7 de nombres flottants aléatoires entre 0 et 100 |
| np.random.randint(5,size=(2,3)) | Tableau 2x3 avec des entiers aléatoires entre 0 et 4 |
Inspecter les propriétés
| arr.size | Renvoie le nombre total d’éléments du tableau |
| arr.shape | Renvoie les dimensions du tableau |
| arr.dtype | Renvoie le type des éléments du tableau |
| arr.astype(dtype) | Convertit le type des éléments du tableau en dtype |
| arr.tolist() | Convertit le tableau en liste |
| np.info(np.eye) | Voir la documentation de np.eye |
Copier/Trier/Remodeler
| np.copy(arr) | Copie arr dans une nouvelle mémoire |
| arr.view(dtype) | Crée une vue des éléments de arr avec le type dtype |
| arr.sort() | Trie arr |
| arr.sort(axis=0) | Trie un axe spécifique de arr |
| two_d_arr.flatten() | Aplatit un tableau 2D en tableau 1D |
| arr.T | Transpose arr (les lignes deviennent des colonnes et vice versa) |
| arr.reshape(3,4) | Remodèle arr en 3 lignes, 4 colonnes sans changer les données |
| arr.resize((5,6)) | Change la forme de arr en 5x6 et remplit les nouvelles valeurs avec 0 |
Ajouter/Supprimer des éléments
| np.append(arr,values) | Ajoute des valeurs à la fin de arr |
| np.insert(arr,2,values) | Insère des valeurs dans arr avant l’indice 2 |
| np.delete(arr,3,axis=0) | Supprime la ligne à l’indice 3 de arr |
| np.delete(arr,4,axis=1) | Supprime la colonne à l’indice 4 de arr |
Combiner/Diviser
| np.concatenate((arr1,arr2),axis=0) | Ajoute arr2 comme lignes à la fin d’arr1 |
| np.concatenate((arr1,arr2),axis=1) | Ajoute arr2 comme colonnes à la fin d’arr1 |
| np.split(arr,3) | Divise arr en 3 sous-tableaux |
| np.hsplit(arr,5) | Divise arr horizontalement au 5ème indice |
Indexation/Découpage/Sous-ensembles
| arr[5] | Renvoie l’élément à l’indice 5 |
| arr[2,5] | Renvoie l’élément du tableau 2D à l’indice [2][5] |
| arr[1]=4 | Assigne la valeur 4 à l’élément du tableau à l’indice 1 |
| arr[1,3]=10 | Assigne la valeur 10 à l’élément du tableau à l’indice [1][3] |
| arr[0:3] | Renvoie les éléments aux indices 0,1,2 (sur un tableau 2D : renvoie les lignes 0,1,2) |
| arr[0:3,4] | Renvoie les éléments des lignes 0,1,2 à la colonne 4 |
| arr[:2] | Renvoie les éléments aux indices 0,1 (sur un tableau 2D : renvoie les lignes 0,1) |
| arr[:,1] | Renvoie les éléments à l’indice 1 sur toutes les lignes |
| arr<5 | Renvoie un tableau avec des valeurs booléennes |
| (arr1<3) & (arr2>5) | Renvoie un tableau avec des valeurs booléennes |
| ~arr | Inverse un tableau booléen |
| arr[arr<5] | Renvoie les éléments du tableau inférieurs à 5 |
Mathématiques scalaires
| np.add(arr,1) | Ajoute 1 à chaque élément du tableau |
| np.subtract(arr,2) | Soustrait 2 de chaque élément du tableau |
| np.multiply(arr,3) | Multiplie chaque élément du tableau par 3 |
| np.divide(arr,4) | Divise chaque élément du tableau par 4 (renvoie np.nan pour une division par zéro) |
| np.power(arr,5) | Élève chaque élément du tableau à la puissance 5 |
Mathématiques vectorielles
| np.add(arr1,arr2) | Ajoute arr2 à arr1 élément par élément |
| np.subtract(arr1,arr2) | Soustrait arr2 d’arr1 élément par élément |
| np.multiply(arr1,arr2) | Multiplie arr1 par arr2 élément par élément |
| np.divide(arr1,arr2) | Divise arr1 par arr2 élément par élément |
| np.power(arr1,arr2) | Élève arr1 à la puissance d’arr2 élément par élément |
| np.array_equal(arr1,arr2) | Renvoie True si les tableaux ont les mêmes éléments et la même forme |
| np.sqrt(arr) | Racine carrée de chaque élément du tableau |
| np.sin(arr) | Sinus de chaque élément du tableau |
| np.log(arr) | Logarithme naturel de chaque élément du tableau |
| np.abs(arr) | Valeur absolue de chaque élément du tableau |
| np.ceil(arr) | Arrondit à l’entier supérieur le plus proche |
| np.floor(arr) | Arrondit à l’entier inférieur le plus proche |
| np.round(arr) | Arrondit à l’entier le plus proche |
Statistiques
| np.mean(arr,axis=0) | Renvoie la moyenne le long d’un axe spécifique |
| arr.sum() | Renvoie la somme de arr |
| arr.min() | Renvoie la valeur minimale de arr |
| arr.max(axis=0) | Renvoie la valeur maximale d’un axe spécifique |
| np.var(arr) | Renvoie la variance du tableau |
| np.std(arr,axis=1) | Renvoie l’écart-type d’un axe spécifique |
| arr.corrcoef() | Renvoie le coefficient de corrélation du tableau |