HOWTO · NumPy

Obtenir le nombre de lignes dans NumPy

La propriété array.shape peut être utilisée pour déterminer le nombre de lignes et de colonnes dans un tableau NumPy en Python.

Sur cette page

Pour un tableau NumPy à deux dimensions, utilisez array.shape[0] pour obtenir le nombre de lignes. La propriété array.shape fournit le tuple complet des dimensions : (rows, columns) pour un tableau 2D. len(array) et np.size(array, 0) renvoient tous deux le nombre d’éléments du premier axe.

Les exemples ci-dessous nécessitent Python et NumPy.

Obtenir le nombre de lignes d’un tableau NumPy avec la propriété array.shape

NumPy numérote les axes à partir de 0. Dans un tableau 2D, l’axe 0 correspond aux lignes et l’axe 1 aux colonnes. Utilisez array.shape[0] pour obtenir le nombre de lignes ou array.shape[1] pour celui des colonnes ; aucune parenthèse ne suit shape dans ces expressions.

Exécutez cet exemple :

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

import numpy as np

array = np.array([[1, 3, 5], [2, 4, 6]])

rows = array.shape[0]
columns = array.shape[1]

print("Rows =", rows)
print("Columns =", columns)

Sortie :

Rows = 2
Columns = 3

Les deux listes internes forment deux lignes de trois valeurs chacune. La forme du tableau est donc (2, 3). Si vous savez que le tableau est à deux dimensions, vous pouvez aussi récupérer les deux dimensions en une seule instruction : rows, columns = array.shape.

Un tableau à une dimension a une forme telle que (3,) : il ne comporte pas de dimensions distinctes pour les lignes et les colonnes. shape[0] correspond alors au nombre d’éléments, et shape[1] n’est pas disponible. Si votre application exige spécifiquement des données tabulaires, vérifiez array.ndim == 2. Pour les tableaux de dimension supérieure, shape[0] décrit toujours le premier axe, dont la signification dépend de l’organisation des données.

Obtenir le nombre de lignes d’un tableau NumPy avec la fonction len()

La fonction intégrée len() de Python renvoie la longueur de la première dimension d’un tableau NumPy. Pour un tableau 2D, elle compte les lignes, et non l’ensemble des valeurs.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

import numpy as np

array = np.array([[1, 3, 5], [2, 4, 6]])

num_rows = len(array)
print("Rows =", num_rows)

Sortie :

Rows = 2

Ici, chaque élément du premier axe est une ligne contenant trois valeurs. len(array) renvoie donc le même nombre que array.shape[0]. Évitez d’utiliser len(array[0]) pour compter les lignes : cette expression mesure la longueur de la première ligne et suppose aussi qu’il existe une première ligne.

Un tableau de forme (0, 3) ne contient aucune ligne : len(array) et array.shape[0] renvoient donc tous deux 0. Un tableau scalaire n’a pas de premier axe ; aucune de ces expressions ne permet alors d’obtenir un nombre de lignes.

Obtenir le nombre de lignes d’un tableau NumPy avec la fonction np.size()

La fonction np.size() accepte un tableau et un argument axis entier facultatif. Indiquez axis=0 pour obtenir la longueur de la première dimension. La forme positionnelle np.size(array, 0) est équivalente.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

import numpy as np

array = np.array([[1, 3, 5], [2, 4, 6]])

num_rows = np.size(array, 0)
print("Rows =", num_rows)

Sortie :

Rows = 2

Si vous omettez axis, la question change : np.size(array) compte tous les éléments. Pour ce tableau de deux lignes et trois colonnes, le total est de 6, tandis que la longueur du premier axe est de 2. De même, np.size(array, axis=1) renvoie le nombre de colonnes d’un tableau 2D. L’argument axis sélectionne une dimension ; il ne s’agit pas d’un tuple d’axes.

Conclusion

Pour compter directement les lignes d’un tableau NumPy 2D, utilisez array.shape[0]. len(array) et np.size(array, 0) renvoient le même nombre ; np.size(array) renvoie le nombre total d’éléments.