Cet article explique comment créer un tableau vide ( 𝐧𝐝𝐚𝐫𝐫𝐚𝐲 ) dans NumPy.
Il existe deux méthodes disponibles : 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲() , qui permet d’indiquer n’importe quelle forme et type de données ( 𝐝𝐭𝐲𝐩𝐞 ), et 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲_𝐥𝐢𝐤𝐞() , qui crée un tableau avec la même forme et le même type de données qu’un tableau existant.
Ici, un « tableau vide » fait spécifiquement référence à un « tableau non initialisé », où les valeurs ne sont pas définies car elles renvoient l’état préexistant de la mémoire répartie. Après avoir attribué la taille nécessaire avec 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲() ou 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲_𝐥𝐢𝐤𝐞() , vous devez attribuer des valeurs au tableau.
Le cas des tableaux à zéro élément sera discuté à la fin.
Pour créer un tableau en initialisant toutes les valeurs avec 0 , 1 ou toute autre valeur, consultez l’article suivant.
La version de NumPy utilisée dans cet article est la suivante. Notez que les fonctionnalités peuvent varier selon les versions.
import numpy as np print(np.__version__) # 1.26.1
Créez un tableau vide avec 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲()
Pour créer un tableau vide spécifiant la forme et le type de données ( 𝐝𝐭𝐲𝐩𝐞 ), utilisez 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲() .
Transmettez la forme comme premier argument. Un scalaire génère un tableau unidimensionnel et un tuple génère un tableau multidimensionnel.
print(np.empty(3)) # [4.65836473e-310 0.00000000e+000 2.37151510e-322] print(np.empty((2, 3))) # [[1.13754784e-313 0.00000000e+000 1.39067149e-309] # [4.65939618e-310 5.56268846e-309 4.65939619e-310]]
Par défaut, le type de données ( 𝐝𝐭𝐲𝐩𝐞 ) est 𝐟𝐥𝐨𝐚𝐭64 . Il peut également être spécifié à l’aide du argument, 𝐝𝐭𝐲𝐩𝐞 .
print(np.empty(3).dtype) # float64 print(np.empty(3, dtype=np.int64)) # [94286351876007 0 48] print(np.empty(3, dtype=np.int64).dtype) # int64
Pour plus d’informations sur les types de données ( 𝐝𝐭𝐲𝐩𝐞 ) dans NumPy, reportez-vous à l’article suivant.
Créez un tableau vide avec 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲_𝐥𝐢𝐤𝐞()
Pour créer un tableau vide avec la même forme et le même type de données ( 𝐝𝐭𝐲𝐩𝐞 ) qu’un tableau existant, utilisez 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲_𝐥𝐢𝐤𝐞() .
Spécifiez le tableau d’origine comme premier argument. Un tableau vide avec la même forme et le même type de données ( 𝐝𝐭𝐲𝐩𝐞 ) que l’original sera créé.
a_int64 = np.arange(3) print(a_int64) # [0 1 2] print(a_int64.dtype) # int64 print(np.empty_like(a_int64)) # [94286351876007 0 48] print(np.empty_like(a_int64).dtype) # int64
a_float64 = np.arange(6).reshape(2, 3) / 10 print(a_float64) # [[0. 0.1 0.2] # [0.3 0.4 0.5]] print(a_float64.dtype) # float64 print(np.empty_like(a_float64)) # [[1.13754784e-313 0.00000000e+000 1.39067149e-309] # [4.65939618e-310 5.56268846e-309 4.65939619e-310]] print(np.empty_like(a_float64).dtype) # float64
Si vous spécifiez le deuxième argument, 𝐝𝐭𝐲𝐩𝐞 , le tableau sera du type spécifié, pas du type du tableau d’origine.
print(np.empty_like(a_float64, dtype=np.int64)) # [[ 23024224555 0 281475043902528] # [ 94307228646232 1125900678677248 94307228749368]] print(np.empty_like(a_float64, dtype=np.int64).dtype) # int64
Créer un tableau avec zéro élément
Pour créer un tableau avec zéro élément, spécifiquez 0 comme premier argument de 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲() .
print(np.empty(0)) # [] print(type(np.empty(0))) # <class 'numpy.ndarray'> print(np.empty(0).size) # 0
La même chose peut être faite en utilisant 𝐧𝐩.𝐳𝐞𝐫𝐨𝐬() et 𝐧𝐩.𝐨𝐧𝐞𝐬() .
print(np.zeros(0)) # [] print(np.ones(0)) # []
Il est également possible de créer un tableau avec élément zéro en spécifiant une liste vide à 𝐧𝐩.𝐚𝐫𝐫𝐚𝐲() .
print(np.array([])) # []
Cependant, dans la pratique, il n’est probablement pas nécessaire d’avoir un tableau avec zéro élément.
L’ajout d’éléments avec 𝐧𝐩.𝐚𝐩𝐩𝐞𝐧𝐝() ou leur suppression avec 𝐧𝐩.𝐝𝐞𝐥𝐞𝐭𝐞() crée une nouvelle copie du tableau NumPy ( 𝐧𝐝𝐚𝐫𝐫𝐚𝐲 ), entraînant des coûts d’allocation de mémoire supplémentaires.
- NumPy : append() pour ajouter des valeurs à un tableau
- NumPy : Supprimer les lignes/colonnes d’un tableau avec np.delete()
Si vous ajoutez ou supprimez fréquemment des éléments, il est plus efficace d’utiliser la liste intégrée de Python.
- Ajouter un élément à une liste en Python (append, extend, insert)
- Supprimer un élément d’une liste en Python (clear, pop, remove, del)
La liste intégrée de Python peut également être convertie en 𝐧𝐝𝐚𝐫𝐫𝐚𝐲 . Par exemple, vous pouvez d’abord ajouter des éléments à une liste vide, puis les convertir en 𝐧𝐝𝐚𝐫𝐫𝐚𝐲 une fois l’opération terminée.
Si le nombre final d’éléments est déjà connu, il est préférable de créer un tableau de la taille nécessaire en utilisant 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲() ou 𝐧𝐩.𝐞𝐦𝐩𝐭𝐲_𝐥𝐢𝐤𝐞() , puis d’attribuer des valeurs.
