Feuille de triche NumPy
Vous avez donc besoin d'un coup d'œil rapide sur NumPy qui vous permettra de travailler sur le tas ? Cet article est exactement ce qu'il vous faut !

Commencer
NumPy est un package de calcul scientifique en Python. Il est livré avec des fonctions prédéfinies pour l'algèbre linéaire, la transformée de Fourier et les matrices. NumPy est généralement utilisé pour les applications Data Science.
Pour commencer, assurez-vous d'abord que vous avez Python et NumPy dans votre système. La façon dont vous l'obtenez dépend de votre système et de l'IDE de votre préférence, mais je recommande Anaconda. Avec l'installation de base d'Anaconda, vous pouvez simplement accéder au terminal et exécuter "conda install numpy" et le tour est joué !
Maintenant, créons un fichier example.py pour commencer à travailler.
Remarque : Si nous devions créer un projet au lieu d'un seul fichier d'exemple avec lequel travailler, nous devrions simplement créer un répertoire et un fichier __init__.py à l'intérieur.
Vous devez ajouter la ligne suivante en haut du fichier afin de pouvoir travailler avec NumPy dans le fichier.
importer numpy en tant que np
Remarque : nous l'importons généralement en tant que np afin de ne pas avoir à taper numpy chaque fois que nous appelons une fonction à partir de NumPy. Gardez à l'esprit que bien que cela puisse être modifié, np est la convention générale.
Après cela, vous pouvez exécuter le code dans le fichier d'exemple en accédant simplement au terminal et en exécutant la commande :
exemple python.py
Liste vs tableau
Nous allons beaucoup utiliser Arrays avec nos opérations NumPy, il est donc préférable de clarifier une chose : les listes et les tableaux sont différents en Python.
Avec Arrays, vous pouvez déclarer des structures multidimensionnelles comme des matrices, et vous pouvez effectuer des opérations numériques à l'intérieur, mais ce n'est pas le cas avec les anciennes listes simples. Par conséquent, NumPy s'appuie fortement sur les tableaux.
Les listes peuvent être assignées à une valeur sans avoir à être déclarées, mais les tableaux ne le peuvent pas. Donc, pour définir un tableau, vous devez faire comme suit :
exampleArray = np.arrray([10, 15, 20]) // tableau unidimensionnel
Ou vous pouvez définir un tableau multidimensionnel comme :
exempleTableau2 = np.tableau([10, 15, 20], [50, 100, 150], [1, 2, 3])
Vous pouvez appeler les éléments du tableau comme :
exempleTableau2 [1] // renvoie [50, 100, 150]
exampleArray2 [1] [0]// renvoie 50
Méthodes
Ci-dessous, vous trouverez les fonctions les plus élémentaires couramment utilisées lorsque vous travaillez avec NumPy. Bien qu'il y en ait beaucoup, beaucoup plus, ce qui suit sera suffisant pour vous aider à démarrer.
Méthodes de création de tableau
- np.arange(0, 10) : Crée un tableau unidimensionnel avec les nombres 0 à 9 comme éléments.
- np.arange(0, 10, 3) : Crée un tableau unidimensionnel avec des nombres entre 0 et 10 sautant à chaque tiers. Renvoie un tableau avec 0,3,6,9 comme éléments.
- np.zeros(3) : Crée un tableau de 3 éléments avec la valeur 0 pour chaque élément.
- np.ones(3) : Crée un tableau de 3 éléments avec la valeur 1 pour chaque élément.
- np.linspace(0,20,5) : Prend 5 nombres entre 0 et 20 avec des pas égaux entre les deux. Renvoie un tableau d'éléments 0, 5, 10, 15, 20. Gardez à l'esprit que si nous disions de sélectionner 6 éléments, les éléments seraient flottants au lieu d'interférer pour assurer un espace égal entre eux.
- np.eye(3) : Crée une matrice d'identité avec 3 colonnes et 3 lignes. Les valeurs diagonales renvoient toutes 1 et toutes les autres valeurs renvoient 0.
- np.random.randn(5) : Crée un tableau unidimensionnel avec 5 nombres aléatoires comme éléments. Les nombres peuvent être de type entier et/ou flottant, négatif et/ou positif.
- np.random.randn(5,5) : Crée une matrice avec 5 lignes et 5 colonnes avec 25 valeurs aléatoires comme éléments.
- np.random.randint(1, 10, 2) : renvoie deux nombres aléatoires supérieurs à 1 et inférieurs à 10.
- myArray.reshape(5,5) : prend le tableau unidimensionnel nommé myArray et le renvoie sous la forme d'une matrice de 5 lignes et 5 colonnes. Gardez à l'esprit que s'il n'y a pas un nombre suffisant d'éléments dans le tableau, dans le cas de l'exemple 5 x 5 = 25 éléments, cela générera une erreur et ne fonctionnera pas. Cette méthode ne changera pas le tableau lui-même mais renverra simplement une version modifiée du tableau.
- myArray.max() : renvoie le plus grand nombre parmi les éléments d'un tableau de nombres.
- myArray.min() : renvoie le plus petit nombre parmi les éléments d'un tableau de nombres.
- myArray.argmax() : renvoie l'index du plus grand nombre parmi les éléments d'un tableau de nombres.
- myArray.argmin() : renvoie l'index du plus petit nombre parmi les éléments d'un tableau de nombres.
- myArray.shape : renvoie la forme d'un tableau. Si le tableau est unidimensionnel avec 10 éléments, il renverra (10, ). Si le tableau est une matrice composée de 5 colonnes et 6 lignes, il renverra (5,6). Gardez à l'esprit qu'il ne s'agit pas d'une fonction mais plutôt d'un attribut, il n'y a donc pas de parenthèses lors de l'appel de shape.
- myArray[5] : renvoie l'élément du tableau avec le numéro d'index de 5
- myArray[3:5] : renvoie les éléments entre les numéros d'index 3 et 5, y compris l'élément avec l'index 3 mais pas 5.
- myArray[3:5] = -3 : change la valeur des éléments entre les index 3 et cinq en -3.
- myArray[:] = 30 : Modifie la valeur de tous les éléments du tableau en 30un par un.
- myArray = 30 : change le type de myArray de tableau à entier et définit sa valeur sur 30.
- newArray = myArray.copy() : crée une copie de myArray et la définit sur newArray. Notez que si vous n'utilisiez pas la méthode .copy() , vous verriez également toutes les modifications que vous avez apportées au newArray se refléter sur le myArray.
Déclarons une matrice comme myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ).
- myMatrix[0] : renvoie l'élément avec l'index de ligne 0, qui est un tableau. Retourne donc [5, 10, 15].
- myMatrix[0] [1] : renvoie l'élément avec l'index de colonne 1 et l'index de ligne 0, donc dans ce cas renvoie la valeur 10.
- myMatrix[0,1] : renvoie l'élément avec l'index de colonne 1 et l'index de ligne 0, donc dans ce cas renvoie la valeur 10.
- myMatrix[1, 1:] : Prend la ligne avec l'index 1 comme d'habitude, mais renvoie les éléments avec les index de colonne à partir de 1 (y compris 1 car l'épissure fonctionne toujours avec Python) donc dans ce cas renvoie [2, 3].
- myMatrix[ [0,1] ] : Renvoie la valeur des index 0 et 1 donc dans notre cas renvoie ( [5, 10, 15] , [1, 2, 3] ).
Définissons un tableau myArray avec lequel travailler comme myArray = [ 5,10,15,20]
- myArray > 10 : renvoie un tableau de vrais et faux en fonction de la condition, donc dans notre cas renvoie [false, false, true, true]. Notez que tihs ne change pas la valeur d'origine de myArray mais crée à la place un nouveau awway.
- myArray [myArray > 10] : renvoie un nouveau tableau avec les éléments qui suivent réellement la condition comme [15, 20].
- myArray + myArray : renvoie un tableau où les valeurs sont additionnées index par index et placées sur l'index correspondant, dans notre cas renvoie [10, 20, 30, 40].
- myArray — myArray : renvoie un tableau où les valeurs sont soustraites index par index et placées sur l'index correspondant, dans notre cas renvoie [0, 0, 0, 0].
- myArray/myArray : retourne un tableau où les valeurs sont divisées index par index et placées sur l'index correspondant, dans notre cas retourne [1,1,1,1]. Notez que s'il y avait un 0 dans n'importe quel index en tant que valeur, puisqu'un nombre ne peut pas être divisé par 0, cela lancerait un avertissement et renverrait nan pour cet index mais diviserait les autres index comme d'habitude.
- np.sqrt(myArray) : renvoie un tableau avec la racine carrée si chaque valeur sur le même index. Donc, si myArray était [25, 16, 36], la fonction renverrait [ 5, 4, 6].