0% ont trouvé ce document utile (0 vote)
2 vues16 pages

NumPy Guide Complet

Ce document est un guide complet sur les fonctions importantes de NumPy, couvrant la création de tableaux, la manipulation de forme, l'indexation, les opérations mathématiques, l'assemblage et la division de tableaux, le tri et la recherche, l'algèbre linéaire, ainsi que les statistiques et probabilités. Chaque section fournit des descriptions et des exemples de code pour illustrer l'utilisation des différentes fonctions. Ce guide est conçu pour aider les utilisateurs à maîtriser NumPy pour le traitement de données numériques.

Transféré par

Steve Ranto
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues16 pages

NumPy Guide Complet

Ce document est un guide complet sur les fonctions importantes de NumPy, couvrant la création de tableaux, la manipulation de forme, l'indexation, les opérations mathématiques, l'assemblage et la division de tableaux, le tri et la recherche, l'algèbre linéaire, ainsi que les statistiques et probabilités. Chaque section fournit des descriptions et des exemples de code pour illustrer l'utilisation des différentes fonctions. Ce guide est conçu pour aider les utilisateurs à maîtriser NumPy pour le traitement de données numériques.

Transféré par

Steve Ranto
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

NumPy

Guide Complet des Fonctions Importantes


Avec descriptions et exemples de code

1. Création de tableaux (Array Creation)

▶ [Link]()
📌 Crée un tableau NumPy à partir d'une liste ou d'un tuple Python.
Exemple :
import numpy as np

a = [Link]([1, 2, 3, 4, 5])
print(a) # [1 2 3 4 5]

b = [Link]([[1, 2], [3, 4]])


print([Link]) # (2, 2)

▶ [Link]() / [Link]() / [Link]()


📌 Crée des tableaux remplis de zéros, de uns, ou d'une valeur constante.
Exemple :
[Link]((3, 4)) # Tableau 3x4 rempli de 0.0
[Link]((2, 3)) # Tableau 2x3 rempli de 1.0
[Link]((3, 3), 7) # Tableau 3x3 rempli de 7
np.zeros_like(a) # Même forme que 'a', rempli de 0

▶ [Link]()
📌 Crée un tableau avec des valeurs espacées régulièrement (comme range() mais
NumPy).

Exemple :
[Link](10) # [0 1 2 3 4 5 6 7 8 9]
[Link](1, 11, 2) # [1 3 5 7 9]
[Link](0, 1, 0.25) # [0. 0.25 0.5 0.75]

▶ [Link]()
📌 Crée un tableau de N valeurs espacées uniformément entre deux bornes.
Exemple :
[Link](0, 1, 5) # [0. 0.25 0.5 0.75 1. ]
[Link](0, 10, 3) # [ 0. 5. 10.]

▶ [Link]() / [Link]()
📌 Crée une matrice identité (1 sur la diagonale, 0 ailleurs).
Exemple :
[Link](3)
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]

▶ [Link]() / [Link]() / [Link]()


📌 Génère des tableaux de nombres aléatoires.
Exemple :
[Link](3, 4) # Valeurs uniformes entre [0, 1)
[Link](3, 4) # Distribution normale (mu=0, sigma=1)
[Link](0, 10, (3, 3)) # Entiers aléatoires entre 0 et 9
[Link](42) # Fixe la graine pour reproductibilité
2. Manipulation de forme (Shape & Reshape)

▶ [Link] / [Link] / [Link] / [Link]


📌 Attributs fondamentaux d'un tableau : dimensions, nombre d'axes, nombre d'éléments,
type.

Exemple :
a = [Link]([[1, 2, 3], [4, 5, 6]])
print([Link]) # (2, 3) — 2 lignes, 3 colonnes
print([Link]) # 2 — tableau 2D
print([Link]) # 6 — 6 éléments au total
print([Link]) # int64

▶ [Link]()
📌 Réorganise les données d'un tableau dans une nouvelle forme (sans copier les
données).

Exemple :
a = [Link](12)
b = [Link](3, 4) # Tableau 3x4
c = [Link](2, 2, 3) # Tableau 3D
d = [Link](-1, 3) # -1 = NumPy calcule automatiquement

▶ [Link]() / [Link]()
📌 Aplatit un tableau multi-dimensionnel en 1D. flatten() retourne une copie, ravel() une vue.
Exemple :
a = [Link]([[1, 2], [3, 4]])
[Link]() # array([1, 2, 3, 4]) — copie
[Link]() # array([1, 2, 3, 4]) — vue (plus rapide)
▶ [Link]() / arr.T
📌 Transpose les axes d'un tableau (échange lignes et colonnes pour un tableau 2D).
Exemple :
a = [Link]([[1, 2, 3], [4, 5, 6]])
a.T # Tableau (3, 2)
# [[1 4]
# [2 5]
# [3 6]]

▶ np.expand_dims() / [Link]()
📌 Ajoute ou supprime des dimensions de taille 1.
Exemple :
a = [Link]([1, 2, 3]) # shape: (3,)
b = np.expand_dims(a, axis=0) # shape: (1, 3)
c = np.expand_dims(a, axis=1) # shape: (3, 1)

d = [Link]([[[1, 2, 3]]]) # shape: (1, 1, 3)


[Link](d) # shape: (3,)

3. Indexation & Slicing

▶ Indexation de base
📌 Accède à des éléments individuels ou des sous-tableaux avec des crochets.
Exemple :
a = [Link]([[10, 20, 30],
[40, 50, 60]])
a[0, 1] # 20 (ligne 0, colonne 1)
a[1, -1] # 60 (dernier élément de la ligne 1)
a[0, :] # [10, 20, 30] (toute la ligne 0)
a[:, 1] # [20, 50] (toute la colonne 1)

▶ Slicing avancé
📌 Extrait des portions de tableaux avec la syntaxe [start:stop:step].
Exemple :
a = [Link](10) # [0 1 2 3 4 5 6 7 8 9]

a[2:7] # [2 3 4 5 6]
a[::2] # [0 2 4 6 8]
a[::-1] # [9 8 7 6 5 4 3 2 1 0] (inversé)

▶ Boolean indexing (masques)


📌 Sélectionne les éléments selon une condition booléenne — très puissant pour filtrer.
Exemple :
a = [Link]([10, 25, 3, 47, 8, 15])

mask = a > 10
# [False True False True False True]

a[mask] # [25 47 15]


a[a % 2 == 0] # [10 8] (nombres pairs)

▶ Fancy indexing
📌 Sélectionne des éléments avec un tableau d'indices (retourne une copie).
Exemple :
a = [Link]([10, 20, 30, 40, 50])
indices = [0, 2, 4]
a[indices] # [10 30 50]

# Sur un tableau 2D
b = [Link]([[1,2],[3,4],[5,6]])
b[[0, 2], :] # lignes 0 et 2 : [[1,2],[5,6]]

4. Opérations mathématiques

▶ Opérations élément par élément


📌 Les opérations +, -, *, / s'appliquent élément par élément sur les tableaux.
Exemple :
a = [Link]([1, 2, 3])
b = [Link]([4, 5, 6])

a + b # [5 7 9]
a * b # [4 10 18]
a ** 2 # [1 4 9]
a / b # [0.25 0.4 0.5]

▶ [Link]() / [Link]() / [Link]() / [Link]()


📌 Calcule des statistiques descriptives sur un tableau ou selon un axe.
Exemple :
a = [Link]([[1, 2, 3],
[4, 5, 6]])

[Link](a) # 21 (total)
[Link](a, axis=0) # [5 7 9] (somme par colonne)
[Link](a, axis=1) # [6 15] (somme par ligne)
[Link](a) # 3.5
[Link](a) # 1.7078...

▶ [Link]() / [Link]() / [Link]() / [Link]()


📌 Trouve les valeurs min/max et leurs indices dans le tableau.
Exemple :
a = [Link]([3, 1, 4, 1, 5, 9, 2, 6])

[Link](a) # 1
[Link](a) # 9
[Link](a) # 1 (indice du minimum)
[Link](a) # 5 (indice du maximum)

▶ [Link]() / [Link]() / [Link]() / [Link]()


📌 Fonctions mathématiques universelles (ufuncs) appliquées élément par élément.
Exemple :
a = [Link]([-3, 4, -1, 9])

[Link](a) # [3 4 1 9]
[Link]([Link](a)) # [1.73 2. 1. 3. ]
[Link]([0, 1, 2]) # [1. 2.718 7.389]
[Link]([1, np.e]) # [0. 1.] (logarithme naturel)
np.log10([1, 10]) # [0. 1.] (log base 10)

▶ Fonctions trigonométriques
📌 [Link](), [Link](), [Link]() et leurs inverses travaillent en radians.
Exemple :
angles = [Link]([0, [Link]/6, [Link]/4, [Link]/2])

[Link](angles) # [0. 0.5 0.707 1. ]


[Link](angles) # [1. 0.866 0.707 0. ]
# Conversion degrés <-> radians
np.deg2rad(180) # 3.14159...
np.rad2deg([Link]) # 180.0

▶ [Link]() / [Link]() / @
📌 Produit scalaire de vecteurs ou multiplication de matrices.
Exemple :
a = [Link]([[1, 2], [3, 4]])
b = [Link]([[5, 6], [7, 8]])

[Link](a, b) # Produit matriciel


a @ b # Equivalent, syntaxe moderne
# [[19 22]
# [43 50]]

# Produit scalaire (vecteurs)


[Link]([1,2,3], [4,5,6]) # 32

5. Assemblage & Division de tableaux

▶ [Link]()
📌 Assemble plusieurs tableaux le long d'un axe existant.
Exemple :
a = [Link]([[1, 2], [3, 4]])
b = [Link]([[5, 6]])

[Link]([a, b], axis=0) # Empilé verticalement (3x2)


# [[1 2]
# [3 4]
# [5 6]]

▶ [Link]() / [Link]()
📌 Empile des tableaux verticalement (vstack) ou horizontalement (hstack).
Exemple :
a = [Link]([1, 2, 3])
b = [Link]([4, 5, 6])

[Link]([a, b]) # [[1 2 3]


# [4 5 6]]

[Link]([a, b]) # [1 2 3 4 5 6]

▶ [Link]() / [Link]() / [Link]()


📌 Divise un tableau en sous-tableaux égaux ou selon des indices.
Exemple :
a = [Link](12).reshape(4, 3)

[Link](a, 2) # 2 tableaux de (2,3)


[Link](a, 3) # 3 tableaux de (4,1)
[Link](a, [1, 3]) # Split à l'indice 1 et 3

6. Tri & Recherche

▶ [Link]() / [Link]()
📌 Trie un tableau ou retourne les indices qui trieraient le tableau.
Exemple :
a = [Link]([3, 1, 4, 1, 5, 9, 2, 6])

[Link](a) # [1 1 2 3 4 5 6 9]
[Link](a) # [1 3 6 0 2 4 7 5]

# Tri d'un tableau 2D par colonne


b = [Link]([[3,1],[2,4]])
[Link](b, axis=0) # Tri par colonnes

▶ [Link]()
📌 Retourne les indices où une condition est vraie, ou choisit entre deux valeurs selon la
condition.

Exemple :
a = [Link]([1, -2, 3, -4, 5])

# Retourne les indices où a > 0


[Link](a > 0) # (array([0, 2, 4]),)

# Remplace : si a > 0 → a, sinon 0


[Link](a > 0, a, 0) # [1 0 3 0 5]

▶ [Link]()
📌 Retourne les valeurs uniques (triées) d'un tableau, avec option pour les comptes.
Exemple :
a = [Link]([3, 1, 4, 1, 5, 9, 2, 6, 5])

[Link](a) # [1 2 3 4 5 6 9]
vals, counts = [Link](a, return_counts=True)
# vals: [1 2 3 4 5 6 9]
# counts: [2 1 1 1 2 1 1]

▶ [Link]()
📌 Trouve l'index où insérer une valeur pour maintenir un tableau trié.
Exemple :
a = [Link]([1, 3, 5, 7, 9])

[Link](a, 4) # 2 (insérer avant index 2)


[Link](a, 6) # 3

7. Algèbre Linéaire ([Link])

▶ [Link]() / [Link]()
📌 Calcule le déterminant et l'inverse d'une matrice.
Exemple :
A = [Link]([[1, 2], [3, 4]])

[Link](A) # -2.0
[Link](A) # [[-2. 1. ]
# [ 1.5 -0.5]]

▶ [Link]() / [Link]()
📌 Calcule les valeurs/vecteurs propres (eig) ou la décomposition en valeurs singulières
(svd).

Exemple :
A = [Link]([[4, 2], [1, 3]])

vals, vecs = [Link](A)


# vals: [5. 2.] (valeurs propres)
# vecs: matrice des vecteurs propres

U, S, Vt = [Link](A)
# S: valeurs singulières

▶ [Link]() / [Link]()
📌 Résout un système d'équations linéaires Ax=b et calcule la norme d'un vecteur/matrice.
Exemple :
# Résoudre 2x + y = 5 ; x + 3y = 10
A = [Link]([[2, 1], [1, 3]])
b = [Link]([5, 10])
x = [Link](A, b) # [1. 3.]

v = [Link]([3, 4])
[Link](v) # 5.0 (norme euclidienne)

8. Statistiques & Probabilités

▶ [Link]() / [Link]() / [Link]()


📌 Calcule la médiane, les percentiles ou les quantiles d'un tableau.
Exemple :
a = [Link]([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

[Link](a) # 5.5
[Link](a, 25) # 3.25 (1er quartile)
[Link](a, 75) # 7.75 (3e quartile)
[Link](a, 0.5) # 5.5 (même que médiane)

▶ [Link]() / [Link]() / [Link]()


📌 Somme cumulée, produit cumulé, et différences entre éléments consécutifs.
Exemple :
a = [Link]([1, 2, 3, 4, 5])

[Link](a) # [ 1 3 6 10 15]
[Link](a) # [ 1 2 6 24 120]
[Link](a) # [1 1 1 1]
[Link](a, n=2)# [0 0 0] (2e différence)

▶ [Link]() / [Link]()
📌 Calcule la matrice de corrélation ou de covariance entre variables.
Exemple :
x = [Link]([1, 2, 3, 4, 5])
y = [Link]([2, 4, 5, 4, 5])

[Link](x, y) # Matrice de corrélation 2x2


[Link](x, y) # Matrice de covariance 2x2

9. Broadcasting & Opérations avancées

▶ Broadcasting
📌 NumPy peut effectuer des opérations entre tableaux de formes différentes en 'étirant'
automatiquement les dimensions compatibles.

Exemple :
a = [Link]([[1, 2, 3], # shape (3,3)
[4, 5, 6],
[7, 8, 9]])

b = [Link]([10, 20, 30]) # shape (3,)

# b est 'broadcast' sur chaque ligne de a


a + b # [[11 22 33]
# [14 25 36]
# [17 28 39]]

▶ [Link]()
📌 Limite les valeurs d'un tableau entre un min et un max.
Exemple :
a = [Link]([1, 5, 10, 15, 20])

[Link](a, 3, 12) # [ 3 5 10 12 12]

# Très utile pour les images (pixels 0-255)


img = [Link](img_data, 0, 255)

▶ [Link]()
📌 Convertit une fonction Python classique en une fonction qui s'applique sur des tableaux
NumPy.

Exemple :
def ma_fonction(x):
return x**2 + 2*x + 1

f_vec = [Link](ma_fonction)
a = [Link]([1, 2, 3, 4])
f_vec(a) # [ 4 9 16 25]

▶ np.apply_along_axis()
📌 Applique une fonction le long d'un axe d'un tableau 2D.
Exemple :
a = [Link]([[1, 2, 3],
[4, 5, 6]])

# Applique [Link] sur chaque ligne (axis=1)


np.apply_along_axis([Link], axis=1, arr=a)
# [ 6 15]

10. Sauvegarde & Chargement

▶ [Link]() / [Link]()
📌 Sauvegarde et charge un tableau NumPy en format binaire .npy.
Exemple :
a = [Link]([[1, 2, 3], [4, 5, 6]])

[Link]('mon_tableau.npy', a) # Sauvegarde
b = [Link]('mon_tableau.npy') # Chargement
print(b) # [[1 2 3] [4 5 6]]

▶ [Link]() / np.savez_compressed()
📌 Sauvegarde plusieurs tableaux dans un fichier .npz (archive compressée optionnelle).
Exemple :
x = [Link]([1, 2, 3])
y = [Link]([4, 5, 6])

[Link]('[Link]', x=x, y=y)

data = [Link]('[Link]')
data['x'] # [1 2 3]
data['y'] # [4 5 6]

▶ [Link]() / [Link]()
📌 Sauvegarde/charge un tableau dans un fichier texte (CSV, espace, etc.).
Exemple :
a = [Link]([[1.5, 2.0], [3.1, 4.7]])

[Link]('[Link]', a, delimiter=',', fmt='%.2f')

b = [Link]('[Link]', delimiter=',')
# [[1.5 2. ]
# [3.1 4.7]]

NumPy Documentation Officielle : [Link]/doc

Vous aimerez peut-être aussi