Maison >développement back-end >Tutoriel Python >Pourquoi NumPy n'a-t-il pas de fonction intégrée pour calculer les moyennes mobiles ?
Calcul de la moyenne mobile / mobile avec Python NumPy / SciPy
malgré l'utilité des moyennes mobiles dans l'analyse des séries chronologiques, NumPy et SciPy ne le font pas proposent une fonction autonome à cet effet, soulevant des questions sur la justification de cette omission.
Implémentation de la moyenne mobile dans NumPy
Une approche simple pour implémenter la moyenne mobile dans NumPy est via la fonction np.cumsum, qui accumule les éléments d'un tableau. Le tableau de somme résultant peut ensuite être découpé de manière appropriée pour obtenir la moyenne mobile.
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
Cette méthode est relativement rapide et évite les solutions alambiquées sujettes aux erreurs.
Raison du manque de Fonctionnalités incluses dans les piles
Malgré l'apparente simplicité de la mise en œuvre de la moyenne mobile, la raison de son absence dans la fonctionnalité de base de NumPy est probablement liée à la nature spécialisée de ces opérations. NumPy se concentre sur la fourniture d'opérations numériques fondamentales, tandis que les algorithmes spécialisés tels que l'analyse de séries chronologiques sont souvent laissés à des packages dédiés. Cette approche permet à NumPy de conserver ses fonctionnalités de base et évite de le surcharger avec des outils de niche.
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!