Implémentation d'une fenêtre glissante efficace pour les tableaux 1D dans Numpy
Le concept de fenêtre glissante implique de parcourir une séquence de données et d'appliquer un calcul à des sous-ensembles de données dans une longueur de fenêtre spécifiée. Dans le contexte donné, la tâche consiste à calculer l'écart type glissant d'un tableau 1D dans Numpy sans utiliser de boucles Python.
Bien que l'écart type puisse être facilement obtenu à l'aide de Numpy.std, la partie fenêtre glissante pose un problème. défi. Cependant, en tirant parti de la fonction « rolling_window » présentée dans l'article de blog, nous pouvons étendre ses fonctionnalités aux tableaux 1D.
La fonction « rolling_window » crée une vue du tableau d'entrée réorganisé en une série de fenêtres qui se chevauchent, faciliter un calcul efficace sur ces fenêtres. En appliquant la fonction souhaitée, dans ce cas, Numpy.std, à chaque fenêtre, nous obtenons le calcul glissant souhaité.
Pour illustrer, considérons l'extrait de code suivant :
import numpy as np
# Create a 1D array
observations = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# Specify window length
window_length = 3
# Calculate rolling windows
rolling_windows = rolling_window(observations, window_length)
# Calculate rolling standard deviations
rolling_stds = np.std(rolling_windows, axis=1)
# Print the results
print("Rolling standard deviations:", rolling_stds)
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3