Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich kumulative Summen in Python effizient berechnen?
Effiziente Berechnung kumulativer Summen in Listen
Das Akkumulieren der Summe aufeinanderfolgender Elemente in einer Liste kann eine häufige Aufgabe in der Datenanalyse oder numerischen Analyse sein Berechnungen. Wenn beispielsweise eine Liste von Zeitintervallen time_interval = [4, 6, 12] gegeben ist, möchten wir möglicherweise die kumulative Summe dieser Intervalle ermitteln, was zu t = [4, 10, 22] führt.
Using Ein manueller Ansatz, wie in der Frage gezeigt, ist zwar effektiv, kann jedoch bei großen Listen umständlich sein. Eine effizientere Lösung ist jedoch mit der Numpy-Bibliothek verfügbar:
import numpy as np a = [4, 6, 12] np.cumsum(a) #array([ 4, 10, 22])
Die Cumsum-Funktion von Numpy bietet einen erheblichen Leistungsvorteil gegenüber reinen Python-Implementierungen, insbesondere bei großen Listen. Benchmarks haben gezeigt, dass die Cumsum-Funktion von Numpy die manuelle Akkumulation um eine Größenordnung übertrifft:
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
Wenn Sie daher regelmäßig mit numerischen Arrays arbeiten, wird die Verwendung der Cumsum-Funktion von Numpy aufgrund ihrer Effizienz und Benutzerfreundlichkeit dringend empfohlen.
Das obige ist der detaillierte Inhalt vonWie kann ich kumulative Summen in Python effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!