OUJOOD.COM
np.zeros() : tableau rempli de zéros
C'est la fonction d'initialisation la plus courante. On lui passe un tuple décrivant la forme souhaitée — et elle retourne un tableau rempli de 0.0 (float64 par défaut). Utile pour préparer un tableau de résultats avant une boucle de calcul.
import numpy as np # Tableau 1D de 5 zéros t1 = np.zeros(5) print(t1) # [0. 0. 0. 0. 0.] print(t1.dtype) # float64 # Matrice 3×4 de zéros t2 = np.zeros((3, 4)) print(t2) # [[0. 0. 0. 0.] # [0. 0. 0. 0.] # [0. 0. 0. 0.]] # Forcer le type entier t3 = np.zeros((2, 3), dtype=np.int32) print(t3) # [[0 0 0] # [0 0 0]]
np.ones() : tableau rempli de uns
np.ones() fonctionne exactement comme np.zeros(), mais initialise chaque élément à 1. Pratique pour créer des masques binaires, des vecteurs de pondération uniformes, ou simplement multiplier par une constante.
# Tableau 1D de uns t1 = np.ones(4) print(t1) # [1. 1. 1. 1.] # Matrice 2×3 de uns en entiers t2 = np.ones((2, 3), dtype=int) print(t2) # [[1 1 1] # [1 1 1]] # Créer un tableau de 5 avec ones × 5 t3 = np.ones(4) * 5 print(t3) # [5. 5. 5. 5.] # Même résultat avec np.full() t4 = np.full(4, 5.0) print(t4) # [5. 5. 5. 5.]
np.full() : tableau rempli d'une valeur constante
np.full(shape, fill_value) est plus direct quand on veut initialiser avec une valeur arbitraire. Le dtype est déduit de fill_value — un entier donne un tableau entier, un flottant donne un tableau float.
# Matrice 3×3 remplie de 7 t1 = np.full((3, 3), 7) print(t1) # [[7 7 7] # [7 7 7] # [7 7 7]] # Remplir avec un flottant t2 = np.full((2, 4), 3.14) print(t2) # [[3.14 3.14 3.14 3.14] # [3.14 3.14 3.14 3.14]] # Variante : créer un tableau de même forme qu'un autre reference = np.zeros((3, 3)) t3 = np.full_like(reference, 9) print(t3) # [[9. 9. 9.] # [9. 9. 9.] # [9. 9. 9.]]
np.empty() : tableau non initialisé
np.empty() alloue la mémoire sans l'initialiser. Les valeurs contenues sont aléatoires — ce sont les résidus de la mémoire précédemment utilisée. Elle est marginalement plus rapide que zeros ou ones, mais ne l'utilisez que si vous êtes certain d'écraser chaque élément avant de le lire.
# np.empty() — valeurs imprévisibles, à ne lire qu'après écriture t = np.empty((2, 3)) print(t) # valeurs quelconques en mémoire # np.eye() — matrice identité carrée I = np.eye(4) print(I) # [[1. 0. 0. 0.] # [0. 1. 0. 0.] # [0. 0. 1. 0.] # [0. 0. 0. 1.]] # np.eye() avec décalage de la diagonale I2 = np.eye(4, k=1) # diagonale décalée d'un rang vers le haut print(I2) # [[0. 1. 0. 0.] # [0. 0. 1. 0.] # [0. 0. 0. 1.] # [0. 0. 0. 0.]]
Ces fonctions produisent toutes des tableaux ndarray normaux — vous pouvez ensuite leur appliquer toutes les opérations habituelles : opérations mathématiques, reshape, indexation. Le dtype peut toujours être forcé via le paramètre dtype=.
Par carabde | Mis à jour le 28 avril 2026