Recherche de site Web

numpy.cumsum() en Python


La fonction cumsum() de Python numpy renvoie la somme cumulative des éléments le long de l'axe donné.

Syntaxe de cumsum() de Python numpy

La syntaxe de la méthode cumsum() est :

cumsum(array, axis=None, dtype=None, out=None)
  • Le tableau peut être un ndarray ou des objets similaires à des tableaux, tels que des listes imbriquées.
  • Le paramètre axis définit l'axe le long duquel la somme cumulée est calculée. Si l'axe n'est pas fourni, alors le tableau est aplati et la somme cumulée est calculée pour le tableau résultant.
  • Le paramètre dtype définit le type de données de sortie, tel que float et int.
  • Le paramètre optionnel out est utilisé pour spécifier le tableau pour le résultat.

Exemples de cumsum() de Python numpy

Examinons quelques exemples de calcul de la somme cumulative des éléments d'un tableau numpy.

1. Somme Cumulative des Éléments d'un Tableau Numpy sans axe

import numpy as np

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

total = np.cumsum(array1)
print(f'Cumulative Sum of all the elements is {total}')

Sortie : La somme cumulative de tous les éléments est [ 1 3 6 10 15 21] Ici, le tableau est d'abord aplati en [ 1 2 3 4 5 6]. Ensuite, la somme cumulative est calculée, ce qui donne [ 1 3 6 10 15 21].

2. Somme cumulative le long de l'axe

import numpy as np

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

total_0_axis = np.cumsum(array1, axis=0)
print(f'Cumulative Sum of elements at 0-axis is:\n{total_0_axis}')

total_1_axis = np.cumsum(array1, axis=1)
print(f'Cumulative Sum of elements at 1-axis is:\n{total_1_axis}')

Sortie :

Cumulative Sum of elements at 0-axis is:
[[ 1  2]
 [ 4  6]
 [ 9 12]]
Cumulative Sum of elements at 1-axis is:
[[ 1  3]
 [ 3  7]
 [ 5 11]]

3. Spécifier le type de données pour le tableau de somme cumulative

import numpy as np

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

total_1_axis = np.cumsum(array1, axis=1, dtype=float)
print(f'Cumulative Sum of elements at 1-axis is:\n{total_1_axis}')

Sortie :

Cumulative Sum of elements at 1-axis is:
[[ 1.  3.]
 [ 3.  7.]
 [ 5. 11.]]

Référence : Documentation de l'API