Maison  >  Article  >  développement back-end  >  Comment puis-je calculer l'écart type glissant sur un tableau NumPy 1D à l'aide d'une fenêtre glissante ?

Comment puis-je calculer l'écart type glissant sur un tableau NumPy 1D à l'aide d'une fenêtre glissante ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 12:33:01528parcourir

How Can I Calculate Rolling Standard Deviation on a 1D NumPy Array Using a Rolling Window?

Implémentation de fenêtres déroulantes pour les tableaux 1D dans NumPy

Pour une gestion efficace des fenêtres déroulantes sur des tableaux 1D, NumPy fournit une implémentation utile. Considérons un scénario dans lequel nous avons un tableau NumPy 1D appelé observations. Pour calculer les écarts types glissants avec une longueur de fenêtre de n, nous pouvons utiliser l'approche suivante :

<code class="python">import numpy as np

n = 5  # Example window length

# Create a rolling window for the observations
rolling_window = np.lib.stride_tricks.as_strided(observations, shape=(len(observations) - n + 1, n), strides=(observations.strides[0],))

# Apply the standard deviation function to each window
rolling_stdev = np.std(rolling_window, axis=1)</code>

Cet extrait de code applique efficacement la fonction NumPy std à chaque fenêtre, ce qui donne les valeurs d'écart type glissant souhaitées. . Notez que vous pouvez remplacer np.std par toute autre fonction que vous souhaitez appliquer aux données fenêtrées.

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!

Déclaration:
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