Maison > développement back-end > Tutoriel Python > Comment calculer une moyenne mobile en Python à l'aide de SciPy ou NumPy ?

Comment calculer une moyenne mobile en Python à l'aide de SciPy ou NumPy ?

Patricia Arquette
Libérer: 2024-11-22 19:52:16
original
243 Les gens l'ont consulté

How to Calculate a Running Mean in Python Using SciPy or NumPy?

Trouver la moyenne courante en Python

En Python, le calcul de la moyenne courante d'un tableau 1D pour une fenêtre spécifique peut être réalisé à l'aide de SciPy ou les fonctions NumPy.

Utilisation SciPy

Si SciPy est disponible, vous pouvez utiliser la fonction scipy.signal.convolve :

from scipy.signal import convolve

running_mean = convolve(array, np.ones(window) / window, mode='valid')
Copier après la connexion

C'est la méthode préférée, le cas échéant, car généralement elle est efficace, a comportement bien défini, et surtout parce qu'il est très général.

Utiliser NumPy

Si vous n'avez que NumPy, vous pouvez utiliser sa fonction np.convolve :

running_mean = np.convolve(array, np.ones(window) / window, mode='valid')
Copier après la connexion

Comprendre np.convolve

L’opération principale ici est la convolution. La convolution est généralement exprimée comme une somme mathématique unique sur le produit de portions de deux signaux. L'interprétation dans ce cas est que nous multiplions les parties de fenêtre par les coefficients (1/fenêtre, 1/fenêtre, ..., 1/fenêtre), qui sont égaux aux poids utilisés dans la formule moyenne, puis nous additionnons sur le produit.

Gestion des bords

L'argument mode de np.convolve contrôle la façon de gérer les bords. « valid » supprime tous les effets de bord en incluant uniquement la partie où chaque fenêtre s'intègre entièrement dans le tableau, « même » ajoute des zéros aux bords pour que le tableau de sortie ait la même longueur que le tableau d'entrée, et « complet » ajoute un remplissage de zéros afin que le tableau de sortie soit aussi long que la somme de la longueur de la fenêtre et de la longueur d'entrée moins un. Le choix du mode dépend de vos besoins 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