Maison >développement back-end >Tutoriel Python >Comment puis-je calculer efficacement les sommes cumulées en Python ?
Calcul efficace des sommes cumulées dans les listes
Accumuler la somme d'éléments consécutifs dans une liste peut être une tâche courante en analyse de données ou numérique calculs. Par exemple, étant donné une liste d'intervalles de temps time_interval = [4, 6, 12], nous pouvons vouloir trouver la somme cumulée de ces intervalles, ce qui donne t = [4, 10, 22].
En utilisant une approche manuelle comme le démontre la question, bien qu'efficace, peut s'avérer fastidieuse pour les grandes listes. Cependant, une solution plus efficace est disponible en utilisant la bibliothèque numpy :
import numpy as np a = [4, 6, 12] np.cumsum(a) #array([ 4, 10, 22])
la fonction cumsum de numpy offre un avantage significatif en termes de performances par rapport aux implémentations Python pures, en particulier pour les grandes listes. Des benchmarks ont montré que le cumsum de numpy surpasse l'accumulation manuelle d'un ordre de grandeur :
timeit list(accumu(range(1000))) 10000 loops, best of 3: 161 us per loop timeit list(accumu(xrange(1000))) 10000 loops, best of 3: 147 us per loop timeit np.cumsum(np.arange(1000)) 100000 loops, best of 3: 10.1 us per loop
Par conséquent, si vous travaillez régulièrement avec des tableaux numériques, l'utilisation de la fonction cumsum de numpy est fortement recommandée pour son efficacité et sa facilité d'utilisation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!