Maison > développement back-end > Tutoriel Python > Pourquoi n'y a-t-il pas de fonction de moyenne mobile intégrée dans NumPy ?

Pourquoi n'y a-t-il pas de fonction de moyenne mobile intégrée dans NumPy ?

Barbara Streisand
Libérer: 2024-11-17 15:06:01
original
837 Les gens l'ont consulté

Why Is There No Built-in Moving Average Function in NumPy?

Approche des moyennes mobiles avec Python et NumPy/SciPy

Malgré la prévalence des moyennes mobiles dans l'analyse des données, leur mise en œuvre dans NumPy ou SciPy a s'est avéré être un défi en raison de l'absence d'une fonction dédiée. Cela a donné lieu à des solutions complexes et soulevé des questions sur les raisons de cette omission.

Mise en œuvre simplifiée avec NumPy

Pour une moyenne mobile de base non pondérée, une mise en œuvre simple l'utilisation de la fonction np.cumsum de NumPy apparaît comme une option viable. Cette approche surpasse même les méthodes basées sur la FFT en termes d'efficacité :

def moving_average(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n
Copier après la connexion

Cette fonction calcule en douceur les moyennes mobiles de tailles de fenêtre spécifiées.

La question demeure : pourquoi aucun construit- dans la mise en œuvre ?

Compte tenu de la facilité de mise en œuvre, l'absence d'une fonction de moyenne mobile intégrée dans NumPy peut faire sourciller. Cependant, la réponse réside dans l'accent mis par NumPy sur la fourniture d'opérations numériques de base tout en laissant les fonctionnalités spécialisées aux bibliothèques externes. Cela permet à NumPy de rester simple et efficace, laissant la place à des packages plus personnalisés pour répondre à des besoins analytiques spécifiques.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal