Python Tutoriel NumPy pour les débutants : apprenez avec des exemples
Qu'est-ce que NumPy dans Python?
NumPy est une bibliothèque open source disponible dans Python, qui aide à la programmation mathématique, scientifique, technique et de science des données. C'est une bibliothèque très utile pour effectuer des opérations mathématiques et statistiques dans Python. Cela fonctionne parfaitement pour les tableaux multidimensionnels et la multiplication matricielle. Il est facile à intégrer avec C/C++ et Fortran.
Pour tout projet scientifique, NumPy est l'outil à connaître. Il a été conçu pour fonctionner avec le tableau à N dimensions, l'algèbre linéaire, les nombres aléatoires, la transformée de Fourier, etc.
NumPy est un langage de programmation qui traite des tableaux et matrices multidimensionnels. En plus des tableaux et des matrices, NumPy prend en charge un grand nombre d'opérations mathématiques. Dans cette partie, nous passerons en revue les fonctions essentielles que vous devez connaître pour le tutoriel sur 'TensorFlow.
Pourquoi utiliser NumPy ?
NumPy est synonyme d'efficacité de la mémoire, ce qui signifie qu'il peut gérer une grande quantité de données plus accessible que n'importe quelle autre bibliothèque. De plus, NumPy est très pratique à utiliser, en particulier pour la multiplication et le remodelage matriciels. En plus de cela, NumPy est rapide. En fait, TensorFlow et Scikit apprennent à utiliser le tableau NumPy pour calculer la multiplication matricielle dans le back-end.
Comment installer NumPy
Pour installer la bibliothèque NumPy, veuillez vous référer à notre tutoriel Comment installer TensorFlow. NumPy est installé par défaut avec Anaconda.
Dans le cas distant, NumPy n'est pas installé-
Vous pouvez installer NumPy à l'aide d'Anaconda :
conda install -c anaconda numpy
- In Jupyter Carnet de notes :
import sys !conda install --yes --prefix {sys.prefix} numpy
Importer NumPy et vérifier la version
La commande pour importer numpy est :
import numpy as np
Le code ci-dessus renomme l'espace de noms Numpy en np. Cela nous permet de préfixer la fonction, les méthodes et les attributs Numpy avec « np » au lieu de taper « numpy ». C'est le raccourci standard que vous trouverez dans la littérature numpy
Pour vérifier votre version installée de NumPy, utilisez la commande ci-dessous :
print (np.__version__)
Sortie :
1.18.0
Qu’est ce qu' Python Tableau NumPy ?
Les tableaux NumPy sont un peu comme Python listes, mais toujours très différentes en même temps. Pour ceux d’entre vous qui sont nouveaux sur le sujet, clarifions de quoi il s’agit exactement et à quoi il sert.
Comme son nom l'indique, un tableau NumPy est une structure de données centrale de la bibliothèque numpy. Le nom de la bibliothèque est en fait l'abréviation de « Numeric Python» ou « Numérique Python ».
Création d'un tableau NumPy
Le moyen le plus simple de créer un tableau dans Numpy est d'utiliser Python Liste
myPythonList = [1,9,8,3]
Pour convertir la liste Python en un tableau numpy en utilisant l'objet np.array.
numpy_array_from_list = np.array(myPythonList)
Pour afficher le contenu de la liste
numpy_array_from_list
Sortie :
array([1, 9, 8, 3])
En pratique, il n'est pas nécessaire de déclarer un Python Liste. L'opération peut être combinée.
a = np.array([1,9,8,3])
REMARQUE: La documentation Numpy indique l'utilisation de np.ndarray pour créer un tableau. Cependant, c’est la méthode recommandée.
Vous pouvez également créer un tableau numpy à partir d'un tuple.
Mathématique Operation sur un tableau
Vous pouvez effectuer des opérations mathématiques comme des additions, des soustractions, des divisions et des multiplications sur un tableau. La syntaxe est le nom du tableau suivi de l'opération (+.-,*,/) suivi de l'opérande
Mise en situation :
numpy_array_from_list + 10
Sortie :
array([11, 19, 18, 13])
Cette opération ajoute 10 à chaque élément du tableau numpy.
Forme du tableau
Vous pouvez vérifier la forme du tableau avec la forme de l'objet précédée du nom du tableau. De la même manière, vous pouvez vérifier le type avec dtypes.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Un entier est une valeur sans décimale. Si vous créez un tableau avec décimal, le type deviendra flottant.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
Tableau à 2 dimensions
Vous pouvez ajouter une dimension avec un « », coma
Notez qu'il doit être entre parenthèses []
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
Tableau à 3 dimensions
Une dimension supérieure peut être construite comme suit :
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
Objectif | Code |
---|---|
Créer un tableau | tableau([1,2,3]) |
imprimer la forme | tableau([.]).forme |
Qu'est-ce que numpy.zeros() ?
numpy. zéros () ou np.zéros Python La fonction est utilisée pour créer une matrice pleine de zéros. numpy.zeros() dans Python peut être utilisé lorsque vous initialisez les poids lors de la première itération dans TensorFlow et d'autres tâches statistiques.
Syntaxe de la fonction numpy.zeros()
numpy.zeros(shape, dtype=float, order='C')
Python Paramètres numpy.zeros()
Ici,
- Forme: est la forme du tableau numpy zéro
- TypeD: est le type de données en zéros numpy. C'est facultatif. La valeur par défaut est float64
- Order: La valeur par défaut est C, qui est un style de ligne essentiel pour numpy.zeros() dans Python.
Python exemple numpy.zeros()
import numpy as np np.zeros((2,2))
Sortie :
array([[0., 0.], [0., 0.]])
Exemple de numpy zéro avec Datatype
import numpy as np np.zeros((2,2), dtype=np.int16)
Sortie :
array([[0, 0], [0, 0]], dtype=int16)
Qu'est-ce que numpy.ones() ?
Fonction np.ones() est utilisé pour créer une matrice pleine de uns. numpy.ones() dans Python peut être utilisé lorsque vous initialisez les poids lors de la première itération dans TensorFlow et d'autres tâches statistiques.
Python numpy.ones() Syntaxe
numpy.ones(shape, dtype=float, order='C')
Python Paramètres numpy.ones()
Ici,
- Forme: est la forme des np.ones Python tableau
- TypeD: est le type de données en numpy. C'est facultatif. La valeur par défaut est float64
- Order: La valeur par défaut est C, qui est un style de ligne essentiel.
Python numpy.ones() Tableau 2D avec exemple de type de données
import numpy as np np.ones((1,2,3), dtype=np.int16)
Sortie :
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
fonction numpy.reshape() dans Python
Python Remodelage NumPy La fonction est utilisée pour façonner un tableau sans modifier ses données. Dans certains cas, vous devrez peut-être remodeler les données de large à longue. Vous pouvez utiliser la fonction np.reshape pour cela.
Syntaxe de np.reshape()
numpy.reshape(a, newShape, order='C')
Ici,
a: Tableau que vous souhaitez remodeler
nouvelle forme: Les nouveaux désirs se façonnent
Order: La valeur par défaut est C, qui est un style de ligne essentiel.
Exemple de remodelage NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Sortie :
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() dans Python
Python NumPy Aplatir La fonction est utilisée pour renvoyer une copie du tableau à une dimension. Lorsque vous utilisez un réseau neuronal comme convnet, vous devez aplatir le tableau. Vous pouvez utiliser les fonctions np.flatten() pour cela.
Syntaxe de np.flatten()
numpy.flatten(order='C')
Ici,
Order: La valeur par défaut est C, qui est un style de ligne essentiel.
Exemple d'aplatissement NumPy
e.flatten()
Sortie :
array([1, 2, 3, 4, 5, 6])
Qu'est-ce que numpy.hstack() dans Python?
Numpy.hstack est une fonction dans Python qui est utilisé pour empiler horizontalement des séquences de tableaux d'entrée afin de créer un seul tableau. Avec la fonction hstack(), vous pouvez ajouter des données horizontalement. C'est une fonction très pratique dans NumPy.
Étudions hstack dans Python avec un exemple :
Mise en situation :
## Horitzontal Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Horizontal Append:', np.hstack((f, g)))
Sortie :
Horizontal Append: [1 2 3 4 5 6]
Qu'est-ce que numpy.vstack() dans Python?
Numpy.vstack est une fonction dans Python qui est utilisé pour empiler verticalement des séquences de tableaux d’entrée afin de créer un seul tableau. Avec la fonction vstack(), vous pouvez ajouter des données verticalement.
Étudions-le avec un exemple :
Mise en situation :
## Vertical Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Vertical Append:', np.vstack((f, g)))
Sortie :
Vertical Append: [[1 2 3] [4 5 6]]
Après avoir étudié NumPy vstack et hstack, apprenons un exemple pour générer des nombres aléatoires dans NumPy.
Générer aléatoire Numbers en utilisant NumPy
Pour générer des nombres aléatoires pour la distribution gaussienne, utilisez :
numpy.random.normal(loc, scale, size)
Ici,
- Loc: la moyenne. Le centre de distribution
- Escaliers intérieurs: déviation standard.
- Taille: nombre de retours
Mise en situation :
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Si elle est tracée, la distribution sera similaire au tracé suivant
Fonction NumPy Asarray
La fonction asarray() est utilisée lorsque vous souhaitez convertir une entrée en tableau. L'entrée peut être une liste, un tuple, un ndarray, etc.
syntaxe:
numpy.asarray(data, dtype=None, order=None)[source]
Ici,
données: Données que vous souhaitez convertir en tableau
type: Il s'agit d'un argument facultatif. S'il n'est pas spécifié, le type de données est déduit des données d'entrée
Order: La valeur par défaut est C, qui est un style de ligne essentiel. L'autre option est F (style Fortan)
Mise en situation :
Considérons la matrice 2D suivante avec quatre lignes et quatre colonnes remplies par 1
import numpy as np A = np.matrix(np.ones((4,4)))
Si vous souhaitez modifier la valeur de la matrice, vous ne pouvez pas. La raison en est qu’il n’est pas possible de modifier une copie.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
La matrice est immuable. Vous pouvez utiliser asarray si vous souhaitez ajouter des modifications au tableau d'origine. Voyons si un changement se produit lorsque vous souhaitez modifier la valeur des troisièmes lignes avec la valeur 2.
np.asarray(A)[2]=2 print(A)
Explication du code :
np.asarray(A) : convertit la matrice A en tableau
[2] : sélectionnez les troisièmes lignes
Sortie :
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Qu'est-ce que numpy.arange() ?
numpy.arange() est une fonction numpy intégrée qui renvoie un objet ndarray contenant des valeurs régulièrement espacées dans un intervalle défini. Par exemple, vous souhaitez créer des valeurs de 1 à 10 ; vous pouvez utiliser np.arange() dans Python la fonction.
syntaxe:
numpy.arange(start, stop, step, dtype)
Python Paramètres d'arrangement NumPy :
- Accueille: Début de l'intervalle pour np.arange dans Python la fonction.
- Arrêter: Fin de l'intervalle.
- étape: Espacement entre les valeurs. L'étape par défaut est 1.
- TypeD: Est un type de sortie de tableau pour NumPy arange dans Python.
Mise en situation :
import numpy np np.arange(1, 11)
Sortie :
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Mise en situation :
Si vous souhaitez modifier l'étape de cette fonction d'arrangement NumPy dans Python Par exemple, vous pouvez ajouter un troisième chiffre entre parenthèses. Cela changera l'étape.
import numpy np np.arange(1, 14, 4)
Sortie :
array([ 1, 5, 9, 13])
Fonction NumPy Linspace
Linspace donne des échantillons régulièrement espacés.
syntaxe:
numpy.linspace(start, stop, num, endpoint)
Ici,
- Accueille: Valeur de départ de la séquence
- Arrêter: Valeur de fin de la séquence
- En: Nombre d'échantillons à générer. La valeur par défaut est 50
- Endpoint: Si True (par défaut), stop est la dernière valeur. Si False, la valeur d’arrêt n’est pas incluse.
Mise en situation :
Par exemple, il peut être utilisé pour créer 10 valeurs de 1 à 5 régulièrement espacées.
import numpy as np np.linspace(1.0, 5.0, num=10)
Sortie :
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Si vous ne souhaitez pas inclure le dernier chiffre dans l'intervalle, vous pouvez définir le point final sur false.
np.linspace(1.0, 5.0, num=5, endpoint=False)
Sortie :
array([1. , 1.8, 2.6, 3.4, 4.2])
Fonction LogSpace NumPy dans Python
LogSpace renvoie des nombres espacés pairs sur une échelle logarithmique. Logspace a les mêmes paramètres que np.linspace.
syntaxe:
numpy.logspace(start, stop, num, endpoint)
Mise en situation :
np.logspace(3.0, 4.0, num=4)
Sortie :
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Enfin, si vous souhaitez vérifier la taille mémoire d'un élément d'un tableau, vous pouvez utiliser itemsize
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Sortie :
16
Chaque élément prend 16 octets.
Indexation et découpage Python
Le découpage des données est trivial avec numpy. Nous allons découper la matrice « e ». Notez que, dans Python, vous devez utiliser les parenthèses pour renvoyer les lignes ou les colonnes
Mise en situation :
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
N'oubliez pas qu'avec numpy, le premier tableau/colonne commence à 0.
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
Sortie :
First row: [1 2 3] Second row: [4 5 6]
In Python, comme beaucoup d'autres langues,
- Les valeurs avant la virgule représentent les lignes
- La valeur sur les droits représente les colonnes.
- Si vous souhaitez sélectionner une colonne, vous devez ajouter : avant l'index de la colonne.
- : signifie que vous voulez toutes les lignes de la colonne sélectionnée.
print('Second column:', e[:,1])
Second column: [2 5]
Pour renvoyer les deux premières valeurs de la deuxième ligne. Vous utilisez : pour sélectionner toutes les colonnes jusqu'à la seconde
## Second Row, two values print(e[1, :2]) [4 5]
Fonctions statistiques dans Python
NumPy possède de nombreuses fonctions statistiques utiles pour trouver l'écart type et la variance minimum, maximum, centile, etc. à partir des éléments donnés dans le tableau. Les fonctions sont expliquées comme suit -
Numpy est équipé de la fonction statistique robuste répertoriée ci-dessous
Fonction | Numpy |
---|---|
Min | np.min() |
Max | np.max() |
Médian | np.mean() |
Moyenne | np.médian() |
L'écart-type | np.std() |
Considérez le tableau suivant :
Mise en situation :
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Sortie :
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Exemple de fonction statistique NumPy
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
Sortie :
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Qu'est-ce que le produit scalaire numpy ?
Produit Numpy.dot est une bibliothèque puissante pour le calcul matriciel. Par exemple, vous pouvez calculer le produit scalaire avec np.dot. Le produit Numpy.dot est le produit scalaire de a et b. numpy.dot() dans Python gère les tableaux 2D et effectue des multiplications matricielles.
syntaxe:
numpy.dot(x, y, out=None)
Paramètres
Ici,
x, y: Tableaux d'entrée. x et y doivent tous deux être 1-D ou 2-D pour que la fonction np.dot() fonctionne
ande: Il s'agit de l'argument de sortie du scalaire du tableau 1D à renvoyer. Sinon, ndarray devrait être renvoyé.
Retours de produits
La fonction numpy.dot() dans Python renvoie un produit scalaire de deux tableaux x et y. La fonction dot() renvoie un scalaire si x et y sont tous deux 1-D ; sinon, elle renvoie un tableau. Si 'out' est donné, il est renvoyé.
Soulève
Produit scalaire dans Python lève une exception ValueError si la dernière dimension de x n'a pas la même taille que l'avant-dernière dimension de y.
Mise en situation :
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
Sortie :
14
Multiplication matricielle dans Python
La fonction Numpy matmul() est utilisée pour renvoyer le produit matriciel de 2 tableaux. Voici comment ça marche
1) Tableaux 2D, il renvoie un produit normal
2) Dimensions > 2, le produit est traité comme un empilement de matrice
3) Le tableau 1D est d'abord promu en matrice, puis le produit est calculé
syntaxe:
numpy.matmul(x, y, out=None)
Ici,
x, y: Tableaux d'entrée. scalaires non autorisés
ande: Il s'agit d'un paramètre facultatif. Habituellement, la sortie est stockée dans ndarray
Mise en situation :
De la même manière, vous pouvez calculer la multiplication des matrices avec np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
Sortie :
array([[19, 22], [43, 50]])
Déterminant
Enfin et surtout, si vous devez calculer le déterminant, vous pouvez utiliser np.linalg.det(). Notez que numpy s'occupe de la dimension.
Mise en situation :
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Sortie :
-2.000000000000005
Résumé
- Python est une bibliothèque open source disponible dans Python, qui aide en mathématiques, scientifiques, ingénierie et programmation en science des données.
- numpy.zeros() ou np.zeros Python La fonction est utilisée pour créer une matrice pleine de zéros.
- numpy.ones() dans Python peut être utilisé lorsque vous initialisez les poids lors de la première itération dans TensorFlow et d'autres tâches statistiques.
- Python La fonction NumPy Reshape est utilisée pour façonner un tableau sans modifier ses données.
- Python La fonction NumPy Flatten est utilisée pour renvoyer une copie du tableau à une dimension.
- Numpy.hstack est une fonction dans Python qui est utilisé pour empiler horizontalement des séquences de tableaux d'entrée afin de créer un seul tableau.
- Numpy.vstack est une fonction dans Python qui est utilisé pour empiler verticalement des séquences de tableaux d’entrée afin de créer un seul tableau.
- numpy.arange() est une fonction numpy intégrée qui renvoie un objet ndarray contenant des valeurs régulièrement espacées dans un intervalle défini.
- Le produit Numpy.dot est une bibliothèque puissante pour le calcul matriciel.
- La fonction Numpy matmul() est utilisée pour renvoyer le produit matriciel de 2 tableaux.