HOWTO · NumPy

Ajouter une dimension au tableau NumPy

Il existe deux méthodes principales qui peuvent être utilisées pour ajouter une nouvelle dimension à un tableau NumPy en Python, la fonction numpy.expand_dims() et la méthode numpy.newaxis.

Ce tutoriel présentera les méthodes pour ajouter une nouvelle dimension à un tableau NumPy en Python.

Ajouter une dimension au tableau NumPy avec la fonction numpy.expand_dims()

La fonction numpy.expand_dims() ajoute une nouvelle dimension à un tableau NumPy. Il prend le tableau à développer et le nouvel axe comme arguments et renvoie un nouveau tableau avec des dimensions supplémentaires. Nous pouvons spécifier l’axe à développer à l’intérieur du paramètre axis de la fonction numpy.expand_dims(). Voir l’exemple de code suivant.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = np.expand_dims(array, axis=0)
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Production:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Dans le code ci-dessus, nous avons d’abord créé un tableau 1D array avec la fonction np.array() et imprimé la forme du array avec la propriété array.shape. Nous avons ensuite converti le array en un tableau 2D avec la fonction np.expand_dims(array, axis=0) et imprimé la nouvelle forme du array avec la propriété array.shape. Au final, nous avons ajouté de nouveaux éléments au array avec la fonction np.append() et imprimé les éléments du array.

Ajouter une dimension au tableau NumPy avec la fonction numpy.newaxis en Python

L’approche précédente fait le travail et fonctionne bien pour le moment. Le seul problème est que la méthode précédente a été dépréciée et ne fonctionnera probablement pas avec les nouvelles versions de Python à l’avenir. La méthode numpy.newaxis peut également être utilisée pour atteindre le même objectif que la méthode précédente mais avec encore moins de code et de complexité. Avec cette méthode, nous n’avons pas non plus à nous soucier de ne pas être pris en charge dans les versions ultérieures de Python. La méthode numpy.newaxis ajoute une nouvelle dimension à notre tableau en Python.

import numpy as np

array = np.array([1, 2, 3])
print(array.shape)

array = array[np.newaxis]
print(array.shape)

array = np.append(array, [[4, 5, 6]], axis=0)
print(array)

Production:

(3,)
(1, 3)
[[1 2 3]
 [4 5 6]]

Nous avons converti le array en un tableau 2D avec la méthode array[np.newaxis] et imprimé la nouvelle forme du array avec la propriété array.shape. Au final, nous avons ajouté de nouveaux éléments au array avec la fonction np.append() et imprimé les éléments du array.