Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt es in NumPy keine integrierte Funktion für den gleitenden Durchschnitt?
Annäherung an gleitende Durchschnitte mit Python und NumPy/SciPy
Obwohl gleitende Durchschnitte in der Datenanalyse weit verbreitet sind, hat sich ihre Implementierung in NumPy oder SciPy bewährt erwies sich aufgrund des Fehlens einer speziellen Funktion als Herausforderung. Dies hat zu komplizierten Lösungen geführt und Fragen zu den Gründen für dieses Versäumnis aufgeworfen.
Vereinfachte Implementierung mit NumPy
Für einen einfachen, ungewichteten gleitenden Durchschnitt eine unkomplizierte Implementierung Die Verwendung der Funktion np.cumsum von NumPy erweist sich als praktikable Option. Dieser Ansatz übertrifft in puncto Effizienz sogar FFT-basierte Methoden:
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
Diese Funktion berechnet reibungslos gleitende Durchschnitte bestimmter Fenstergrößen.
Die Frage bleibt: Warum kein eingebauter in der Implementierung?
Angesichts der einfachen Implementierung kann das Fehlen einer integrierten Funktion für den gleitenden Durchschnitt in NumPy zu Problemen führen Augenbrauen. Die Antwort liegt jedoch darin, dass NumPy sich auf die Bereitstellung numerischer Kernoperationen konzentriert und spezielle Funktionen externen Bibliotheken überlässt. Dadurch bleibt NumPy schlank und effizient und lässt Raum für maßgeschneidertere Pakete, um spezifische Analyseanforderungen zu erfüllen.
Das obige ist der detaillierte Inhalt vonWarum gibt es in NumPy keine integrierte Funktion für den gleitenden Durchschnitt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!