Skip to content

NumPy : Obtenir le nombre de dimensions, la forme et la taille de ndarray

Vous pouvez obtenir le nombre de dimensions, la forme (longueur de chaque dimension) et la taille (nombre de tous les éléments) du tableau NumPy avec les attributs ndim, shape et size de numpy.ndarray. La fonction intégrée len() renvoie la taille de la première dimension.

  • Nombre de dimensions du tableau NumPy :ndim
  • Forme du tableau NumPy :shape
  • Taille du tableau NumPy :size
  • Taille de la première dimension du tableau NumPy :len()

Utilisez les tableaux unidimensionnels à tridimensionnels suivants comme exemples.

import numpy as np

a_1d = np.arange(3)
print(a_1d)
# [0 1 2]

a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

a_3d = np.arange(24).reshape((2, 3, 4))
print(a_3d)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
# 
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]

Nombre de dimensions du tableau NumPy :ndim

Vous pouvez obtenir le nombre de dimensions du tableau NumPy sous la forme d’une valeur entière int avec l’attribut ndim de numpy.ndarray.

print(a_1d.ndim)
# 1

print(type(a_1d.ndim))
# <class 'int'>

print(a_2d.ndim)
# 2

print(a_3d.ndim)
# 3

Si vous souhaitez ajouter une nouvelle dimension, utilisez numpy.newaxis ou numpy.expand_dims(). Voir l’article suivant pour plus de détails.

Forme du tableau NumPy :shape

Vous pouvez obtenir la forme (= longueur de chaque dimension) du tableau NumPy sous forme de tuple avec l’attribut shape de numpy.ndarray.

Même dans le cas d’un tableau unidimensionnel, il s’agit d’un tuple avec un élément au lieu d’une valeur entière. Notez qu’un tuple avec un élément a une virgule finale.

print(a_1d.shape)
# (3,)

print(type(a_1d.shape))
# <class 'tuple'>

print(a_2d.shape)
# (3, 4)

print(a_3d.shape)
# (2, 3, 4)

Par exemple, dans le cas d’un tableau à deux dimensions, la forme est (nombre de lignes, nombre de colonnes). Si vous souhaitez uniquement obtenir le nombre de lignes ou de colonnes, vous pouvez obtenir chaque élément du tuple.

print(a_2d.shape[0])
# 3

print(a_2d.shape[1])
# 4

Vous pouvez également les décompresser et les affecter à différentes variables.

row, col = a_2d.shape
print(row)
# 3

print(col)
# 4

Utilisez reshape() pour convertir la forme. Voir l’article suivant pour plus de détails.

Taille du tableau NumPy :size

Vous pouvez obtenir la taille (= nombre total d’éléments) du tableau NumPy avec l’attribut size de numpy.ndarray.

print(a_1d.size)
# 3

print(type(a_1d.size))
# <class 'int'>

print(a_2d.size)
# 12

print(a_3d.size)
# 24

Taille de la première dimension du tableau NumPy :len()

len() est la fonction intégrée de Python qui renvoie le nombre d’éléments dans une liste ou le nombre de caractères dans une chaîne.

Pour numpy.ndarray, len() renvoie la taille de la première dimension. Équivalent à shape[0] et également égal à size uniquement pour les tableaux unidimensionnels.

print(len(a_1d))
# 3

print(a_1d.shape[0])
# 3

print(a_1d.size)
# 3

print(len(a_2d))
# 3

print(a_2d.shape[0])
# 3

print(len(a_3d))
# 2

print(a_3d.shape[0])
# 2