Skip to content

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 np

Importer/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