Python Tutoriel NumPy pour débutants

⚡ Résumé intelligent

NumPy est le noyau fondamental Python Bibliothèque de calcul numérique NumPy, permettant la manipulation de tableaux, de matrices, d'algèbre linéaire et d'échantillonnage aléatoire. Ce tutoriel NumPy détaille l'installation, la création de tableaux et leur redimensionnement.ping, découpage, statistiques et calculs matriciels avec exécutable Python exemples.

  • Utilisation principale : Tableaux N-dimensionnels rapides et mathématiques vectorisées dans Python.
  • ⚙️ Fonctions clés: zéros, uns, remodeler, hstack, point, espace linéaire.
  • 📚 Foundations: Algèbre linéaire, diffusion, statistiques, découpage.
  • 🚀 Version actuelle: NumPy 2.x (sorti en juin 2024) est désormais stable.
  • 🤖 Utilisation de l'IA : L'épine dorsale de PyTorch, tenseurs TensorFlow, JAX et CuPy.

Python Tutoriel NumPy

Qu'est-ce que NumPy dans Python?

NumPy est un logiciel libre Python Bibliothèque pour la programmation mathématique, scientifique, d'ingénierie et de science des données. C'est une bibliothèque très utile pour les opérations mathématiques et statistiques. PythonIl fonctionne parfaitement avec les tableaux multidimensionnels et la multiplication matricielle, et s'intègre facilement avec C/C++ et Fortran.

Pour tout projet scientifique, NumPy est l'outil incontournable. Il est conçu pour les tableaux N-dimensionnels, l'algèbre linéaire, la génération de nombres aléatoires, les transformées de Fourier, et bien plus encore.

NumPy donne Python une prise en charge de premier ordre des tableaux et matrices multidimensionnels, ainsi qu'un large éventail d'opérations mathématiques qui s'y appliquent. Dans ce guide, nous passerons en revue les fonctions essentielles à connaître avant d'aborder le tutoriel sur « TensorFlow.

Pourquoi utiliser NumPy ?

NumPy est économe en mémoire, ce qui lui permet de traiter plus facilement de grands volumes de données numériques que les méthodes purement numériques. Python listes. Il est également très pratique pour la multiplication matricielle et le reshaping.pinget c'est rapide car les tâches lourdes sont déléguées à des routines C compilées. En fait, des bibliothèques telles que TensorFlow, PyTorch et Scikit-learn s'appuient sur des tableaux NumPy pour les calculs matriciels dans leur backend, ce qui fait de NumPy le cheval de bataille silencieux sous la plupart des flux de travail modernes en science des données et en IA.

Comment installer NumPy

Pour installer la bibliothèque NumPy, consultez notre tutoriel. Comment installer TensorFlow. NumPy est installé par défaut avec Anaconda.

Dans le rare cas où NumPy ne serait pas installé, utilisez l'une des options ci-dessous.

Vous pouvez installer NumPy à l'aide d'Anaconda :

conda install -c anaconda numpy
  • In Jupyter Notebook:
import sys
!conda install --yes --prefix {sys.prefix} numpy

Les utilisateurs de Pip peuvent installer ou mettre à jour en une seule commande :

pip install --upgrade numpy

Importer NumPy et vérifier la version

La commande pour importer numpy est :

import numpy as np

La ligne ci-dessus renomme l'espace de noms NumPy en npCe raccourci vous permet de préfixer les fonctions, méthodes et attributs NumPy avec np. au lieu de typing numpy.et c'est la convention standard que vous trouverez dans tout l'écosystème NumPy.

Pour vérifier votre version de NumPy installée, utilisez la commande ci-dessous :

print(np.__version__)

Sortie :

2.1.3

NumPy 2.0 a été publié en juin 2024 et constitue la version majeure stable actuelle. Si votre projet dépend encore de l'API 1.x, veuillez l'utiliser. numpy<2 dans votre fichier de spécifications, car certains alias hérités tels que np.float ont été supprimées dans la version 2.0.

Qu'est-ce que la Python Tableau NumPy ?

Les tableaux NumPy ressemblent un peu à Python À première vue, on pourrait les confondre avec des listes, mais leur fonctionnement est en réalité très différent. Pour les lecteurs qui découvrent le sujet, expliquons ce qu'est un ndarray et pourquoi c'est important.

Comme son nom l'indique, un tableau NumPy est la structure de données centrale de la bibliothèque NumPy. Le nom lui-même est l'abréviation de « Numeric » (numérique). Python» ou « Numérique Python”, et le ndarray est un bloc de mémoire homogène de taille fixe, avec une forme et un type de données connus.

Création d'un tableau NumPy

La manière la plus simple de créer un tableau dans NumPy est de partir d'un Python Liste.

myPythonList = [1,9,8,3]

convertir le Python une liste vers un tableau NumPy en utilisant np.array.

numpy_array_from_list = np.array(myPythonList)

Afficher le contenu du tableau.

numpy_array_from_list

Sortie :

array([1, 9, 8, 3])

En pratique, il n'est pas nécessaire de déclarer un Python Établissez d'abord la liste. Les deux étapes peuvent être combinées.

a = np.array([1,9,8,3])

NOTE: La documentation de NumPy mentionne également np.ndarray, mais np.array est la fonction d'usine recommandée pour une utilisation quotidienne.

Vous pouvez également créer un tableau NumPy à partir d'un tuple de la même manière.

Mathématique Operation sur un tableau

Vous pouvez effectuer des opérations mathématiques telles que l'addition, la soustraction, etc.tracOpérations, divisions et multiplications sur un tableau. La syntaxe est le nom du tableau, suivi de l'opérateur (+, -, *, /), suivi de l'opérande. Ces opérations sont vectorisées, ce qui signifie que NumPy les applique à chaque élément sans instruction explicite. Python boucle.

Exemple :

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 d'un tableau avec le shape attribut, accessible en l'ajoutant au nom du tableau. De la même manière, vous pouvez vérifier le type avec dtype.

import numpy as np
a = np.array([1,2,3])
print(a.shape)
print(a.dtype)

(3,)
int64

Un entier est une valeur sans virgule décimale. Si vous créez un tableau contenant des nombres décimaux, son type devient « float ».

#### Different type
b = np.array([1.1,2.0,3.2])
print(b.dtype)

float64

Tableau à 2 dimensions

Vous pouvez ajouter une dimension en insérant une virgule entre parenthèses.

Notez que les tuples internes doivent être placés à l'intérieur des parenthèses externes. [].

### 2 dimension
c = np.array([(1,2,3),
              (4,5,6)])
print(c.shape)
(2, 3)

Tableau à 3 dimensions

Des dimensions supérieures peuvent être construites de la même manière.

### 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 () or np.zeros est une Python fonction utilisée pour créer une matrice remplie de zéros. numpy.zeros() est utile lorsque vous devez initialiser des poids lors de la première itération dans TensorFlow ou configurer des tampons de substitution pour 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: forme du tableau nul NumPy.
  • TypeD: type de données des éléments. Ce champ est facultatif et sa valeur par défaut est float64.
  • Commande: valeur par défaut C, qui est la disposition en rangées utilisée par numpy.zeros() in 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() crée une matrice remplie de 1. numpy.ones() in Python est utile lors de l'initialisation des poids pendant la première itération dans TensorFlow et pour d'autres tâches statistiques.

Python numpy.ones() Syntaxe

numpy.ones(shape, dtype=float, order='C')

Python Paramètres numpy.ones()

Ici,

  • Forme: forme des np.ones Python tableau.
  • TypeD: type de données des éléments. Ce champ est facultatif et sa valeur par défaut est float64.
  • Commande: valeur par défaut C, qui est la disposition en rangées principales.

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 modifie la forme d'un tableau sans en altérer les données. Il peut être nécessaire de remodeler des données d'un format large à un format long, ou de passer d'un vecteur 1D à une matrice 2D avant de les intégrer à un modèle. np.reshape Cette fonction gère cela en un seul appel.

Syntaxe de np.reshape()

numpy.reshape(a, newShape, order='C')

Ici,

a: tableau que vous souhaitez remodeler.

nouvelle forme: la nouvelle forme souhaitée.

Commande: valeur par défaut C, la disposition en rangées principales.

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 renvoie une copie du tableau réduite à une seule dimension. Lorsque vous travaillez avec des réseaux de neurones tels que les réseaux convolutifs, vous devez souvent aplatir un tenseur d'image avant de le transmettre à une couche dense. np.flatten() Cette fonction gère cela en un seul appel.

Syntaxe de np.flatten()

numpy.flatten(order='C')

Ici,
Commande: valeur par défaut C, la disposition en rangées principales.

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 Python Fonction utilisée pour empiler horizontalement des séquences de tableaux d'entrée en un seul tableau. hstack()Vous ajoutez des données le long de l'axe des colonnes. C'est une fonction très pratique de NumPy lorsque vous devez fusionner des vecteurs de caractéristiques côte à côte.

Étudions hstack in Python avec un exemple.

Exemple :

## Horizontal 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 Python Fonction utilisée pour empiler verticalement des séquences de tableaux d'entrée en un seul tableau. vstack(), vous ajoutez des données le long de l'axe des lignes, ce qui est pratique lorsque vous souhaitez combiner des lots d'échantillons.

Étudions cela à l'aide d'un exemple.

Exemple :

## 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 hstackPrenons l'exemple d'un générateur de nombres aléatoires avec NumPy.

Générer aléatoire Numbers en utilisant NumPy

Pour générer des nombres aléatoires à partir d'une distribution gaussienne, utilisez :

numpy.random.normal(loc, scale, size)

Ici,

  • Loc: la moyenne. Le centre de la distribution.
  • Scale: l'écart type.
  • Taille: nombre d'échantillons retournés.

Exemple :

## Generate random numbers from a 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]

Représentée graphiquement, la distribution est similaire au graphique suivant.

Exemple pour générer du aléatoire Numbers en utilisant NumPy
Exemple pour générer du aléatoire Numbers en utilisant NumPy

Notez que les codes plus récents utilisent de plus en plus l'API de générateur moderne. np.random.default_rng(), qui est le remplacement recommandé pour l'ancien modèle np.random.normal appels dans NumPy 2.x.

Fonction NumPy Asarray

Le asarray() Cette fonction convertit une entrée en tableau. L'entrée peut être une liste, un tuple, un ndarray ou une séquence similaire.

syntaxe:

numpy.asarray(data, dtype=None, order=None)

Ici,

données,: les données que vous souhaitez convertir en tableau.

type: facultatif. Si non spécifié, le type de données est déduit des données d'entrée.

Commande: valeur par défaut C, la disposition en rangées principales. L'autre option est F (Fortran-style colonne majeure).

Exemple :

Considérons la matrice 2D suivante, comportant quatre lignes et quatre colonnes, remplie de 1.

import numpy as np
A = np.matrix(np.ones((4,4)))

Si vous essayez de modifier une valeur dans la matrice via np.arrayLe texte original n'est pas modifié. La raison en est que np.array crée une copie de la matrice.

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 reste inchangée. Utilisez asarray Lorsque vous souhaitez modifier le tableau d'origine directement, voyons ce qui se passe lorsque vous attribuez la valeur 2 à la troisième ligne.

np.asarray(A)[2]=2
print(A)

Code Explication:

np.asarray(A) convertit la matrice A vers une vue de tableau.

[2] sélectionne la troisième ligne.

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 intégrée de NumPy qui renvoie un tableau NumPy contenant des valeurs régulièrement espacées dans un intervalle défini. Par exemple, pour créer des valeurs de 1 à 10, vous pouvez appeler np.arange() in Python.

syntaxe:

numpy.arange(start, stop, step, dtype)

Python Paramètres d'arrangement NumPy :

  • Commencer: début de l'intervalle pour np.arange in Python.
  • Arrêter: fin de l'intervalle.
  • Etape: espacement entre les valeurs. Le pas par défaut est de 1.
  • TypeD: type du tableau de sortie pour NumPy arange.

Exemple :

import numpy as np
np.arange(1, 11)

Sortie :

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

Exemple :

Pour modifier le pas dans ce NumPy arange Par exemple, ajoutez un troisième nombre entre parenthèses. Cela modifie la taille du pas.

import numpy as np
np.arange(1, 14, 4)

Sortie :

array([ 1,  5,  9, 13])

Fonction NumPy Linspace

linspace renvoie des échantillons régulièrement espacés entre deux points d'extrémité.

syntaxe:

numpy.linspace(start, stop, num, endpoint)

Ici,

  • Commencer: valeur initiale de la séquence.
  • Arrêter: valeur finale 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, stop n'est pas inclu.

Exemple :

Par exemple, il peut être utilisé pour créer 10 valeurs uniformément espacées de 1 à 5.

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, définissez endpoint à 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 régulièrement espacés sur une échelle logarithmique. logspace partage les mêmes paramètres que np.linspace.

syntaxe:

numpy.logspace(start, stop, num, endpoint)

Exemple :

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 seul é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 simple avec NumPy. Nous allons découper la matrice. e. En Python, vous utilisez des crochets pour renvoyer des lignes ou des colonnes.
Exemple :

## 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 que dans NumPy, l'indice du premier tableau commence à 0.

## First row
print('First row:', e[0])

## Second row
print('Second row:', e[1])

Sortie :

First row: [1 2 3]
Second row: [4 5 6]

In Python, comme dans beaucoup d'autres langues,

  • La valeur avant la virgule représente les lignes.
  • La valeur après la virgule représente les colonnes.
  • Si vous souhaitez sélectionner une colonne, ajoutez : avant l'index de colonne.
  • : signifie que vous souhaitez 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, utilisez : pour sélectionner toutes les colonnes jusqu'au deuxième index.

## Second Row, two values
print(e[1, :2])
[4 5]

Fonctions statistiques dans Python

NumPy propose un ensemble de fonctions statistiques utiles pour calculer le minimum, le maximum, le percentile, l'écart type, la variance, etc., d'un tableau donné. Les plus courantes sont listées ci-dessous.

NumPy est fourni avec des outils statistiques robustes, résumés dans le tableau.

Fonction Numpy
Min np.min()
Max np.max()
Médian np.mean()
Moyenne np.médian()
L'écart-type np.std()

Considérons le tableau suivant :

Exemple :

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 fonctions statistiques 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 ?

numpy.dot est une fonction puissante pour le calcul matriciel. Par exemple, vous pouvez calculer le produit scalaire avec np.dot. numpy.dot renvoie le produit scalaire de a et bElle gère les tableaux 1D et 2D. Pour les entrées 2D, elle effectue une multiplication matricielle.

syntaxe:

numpy.dot(x, y, out=None)

Paramètres

Ici,

x, y: tableaux d'entrée. x et y Les deux devraient être en 1D ou 2D pour np.dot() pour fonctionner comme un produit scalaire ou une multiplication matricielle.

andeArgument de sortie optionnel utilisé pour capturer le résultat. Sinon, un tableau NumPy est renvoyé.

Retours de produits

La fonction numpy.dot() renvoie le produit scalaire de deux tableaux x et yElle renvoie un scalaire lorsque les deux variables sont unidimensionnelles, sinon elle renvoie un tableau. out Si un tableau est donné, ce tableau est renvoyé.

Soulève

Le produit scalaire dans Python soulève un ValueError si la dernière dimension de x ne correspond pas à l'avant-dernière dimension de y.

Exemple :

## 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

Le NumPy matmul() Cette fonction renvoie le produit matriciel de deux tableaux. Voici comment elle fonctionne.

1) Pour les tableaux 2D, il renvoie le produit matriciel normal.

2) Pour les dimensions supérieures à 2, le produit est traité comme une pile de matrices.

3) Un tableau 1D est d'abord converti en matrice, puis le produit est calculé.

L'infixe @ opérateur, disponible depuis Python 3.5 est une abréviation de matmul et est largement utilisé dans le code moderne.

syntaxe:

numpy.matmul(x, y, out=None)

Ici,

x, y: tableaux d'entrée. Les scalaires ne sont pas autorisés.

andeParamètre optionnel. Généralement, la sortie est stockée dans un tableau NumPy (ndarray).

Exemple :

De la même manière, vous pouvez calculer la multiplication matricielle avec np.matmul.

### Matmul: matrix 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

Si vous devez calculer le déterminant d'une matrice, utilisez np.linalg.det()NumPy gère les dimensions pour vous.

Exemple :

## Determinant 2*2 matrix
### 5*8-7*6
np.linalg.det(i)

Sortie :

-2.000000000000005

Explication de la diffusion NumPy

Le broadcasting est la règle qui permet à NumPy d'effectuer des opérations arithmétiques sur des tableaux de formes différentes sans copier les données. Lorsqu'on ajoute un scalaire à un vecteur 1D, ou un vecteur 1D à une matrice 2D, NumPy étire l'opérande le plus petit le long des axes manquants afin que les formes correspondent. Cela évite d'avoir à effectuer des opérations explicites. Python Les boucles sont l'une des principales raisons pour lesquelles le code NumPy semble rapide et concis.

Deux formes sont compatibles pour la diffusion lorsque, comparées de droite à gauche, chaque paire de dimensions est soit égale, soit l'une d'elles est égale à 1. Par exemple, une matrice de forme (3, 4) diffusions contre une rangée de formes (4,) ou une colonne de forme (3, 1)La même logique sous-tend la normalisation en apprentissage automatique, où vous substitueztracLe vecteur moyen par caractéristique d'un lot d'échantillons est affiché sur une seule ligne. La diffusion est également le modèle conceptuel utilisé par les bibliothèques de tenseurs telles que Py.Torch, TensorFlow et JAX, donc les règles que vous apprenez ici s'appliquent directement au code GPU.

Comment NumPy alimente l'IA et l'apprentissage automatique

NumPy est présent sous la surface de presque tous les systèmes modernes. Python Pile d'IA. PyTorLes tenseurs ch, les tenseurs TensorFlow eager et les tableaux JAX exposent les mêmes fonctionnalités de diffusion, de découpage et de redistribution.ping L'API que vous avez découverte avec les tableaux NumPy (ndarrays). De nombreux tutoriels utilisent encore des tableaux NumPy prétraités pour l'entraînement des modèles, et les frameworks les acceptent sans conversion.

Trois exemples concrets illustrent comment NumPy s'intègre aujourd'hui au travail en IA. Premièrement, les ingénieurs de données transforment les caractéristiques brutes en tableaux NumPy avant de les transmettre aux pipelines scikit-learn ou aux jeux de données Hugging Face. Deuxièmement, les chercheurs utilisent NumPy comme base de calcul sur le CPU, puis le remplacent par CuPy, qui offre une API quasi identique mais s'exécute sur les GPU NVIDIA via CUDA. Troisièmement, JAX s'appuie sur l'API NumPy pour ajouter la différentiation automatique et la compilation à la volée, permettant ainsi au même code exécuté sur un ordinateur portable de s'exécuter sur des TPU dans le cloud. En résumé, les compétences acquises avec NumPy en matière de tableaux sont essentielles à tous les principaux outils d'apprentissage profond, faisant de ce tutoriel une étape précieuse sur la voie du développement en IA.

FAQ

NumPy offre des tableaux N-dimensionnels rapides, des fonctions mathématiques vectorielles, l'algèbre linéaire, l'échantillonnage aléatoire et les transformées de Fourier. Les ingénieurs et les data scientists l'utilisent pour le calcul numérique, le traitement d'images et de signaux, les statistiques, et comme base pour les tableaux dans des bibliothèques de plus haut niveau telles que pandas, scikit-learn et SciPy.

Un tableau NumPy stocke les éléments d'un type de données fixe dans un bloc de mémoire contigu, ce qui rend les calculs vectoriels rapides. Python Les listes peuvent contenir des objets arbitraires, prendre en charge des types mixtes et s'appuient sur des boucles par élément plus lentes ; elles sont donc flexibles mais beaucoup moins efficaces pour les charges de travail numériques importantes.

NumPy 2.0, sorti en juin 2024, conserve la stabilité de l'API de base des tableaux mais supprime les alias obsolètes depuis longtemps tels que np.float et np.intet renforce les règles de promotion des types. La plupart du code de production ne nécessite que des modifications mineures. Épingler numpy<2 si une dépendance n'est pas encore mise à jour.

PyTorch et TensorFlow modélisent leurs objets tenseurs à l'aide de tableaux NumPy (ndarrays). Ils partagent la même structure, la même sémantique de diffusion et de découpage, et acceptent tous deux des tableaux NumPy en entrée. Les compétences acquises avec NumPy sont directement transposables à la construction de réseaux de neurones, de boucles d'entraînement et de pipelines de prétraitement de tenseurs.

La version standard de NumPy s'exécute sur le processeur. Pour l'accélération GPU, utilisez CuPy, qui reproduit l'API NumPy sur les périphériques NVIDIA CUDA, ou JAX, qui ajoute la différence automatique et la compilation à la volée pour les GPU et les TPU. Ces deux solutions permettent de réutiliser la majeure partie du code NumPy existant avec un minimum de modifications pour les charges de travail d'IA.

Anaconda intègre NumPy par défaut. Sinon, exécutez : pip install numpy or conda install -c anaconda numpyPour mettre à niveau une installation existante vers NumPy 2.x, exécutez la commande suivante : pip install --upgrade numpyVérifiez la version active avec print(np.__version__) à l'intérieur Python.

La diffusion permet à NumPy de traiter des tableaux de dimensions différentes sans duplication de données. Le plus petit tableau est virtuellement étiré pour correspondre au plus grand lorsque leurs dimensions sont compatibles. Elle permet d'obtenir des expressions concises pour la normalisation, la mise à l'échelle et l'ingénierie des caractéristiques dans les pipelines d'apprentissage automatique.

Résumez cet article avec :