Реализация эффективного скользящего окна для одномерных массивов в Numpy
Концепция скользящего окна включает в себя итерацию по последовательности данных и применение вычислений к подмножествам данных в пределах указанной длины окна. В данном контексте задача состоит в том, чтобы вычислить скользящее стандартное отклонение одномерного массива в Numpy без использования циклов Python.
Хотя стандартное отклонение можно легко получить с помощью Numpy.std, часть скользящего окна представляет собой проблему испытание. Однако, используя функцию «rolling_window», представленную в сообщении в блоге, мы можем расширить ее функциональность на одномерные массивы.
Функция «rolling_window» создает представление входного массива, преобразованное в серию перекрывающихся окон. содействие эффективным вычислениям в этих окнах. Применяя нужную функцию, в данном случае Numpy.std, к каждому окну, мы получаем желаемый скользящий расчет.
Для иллюстрации рассмотрим следующий фрагмент кода:
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)
В этом примере "rolling_windows" представляют перекрывающиеся окна, а "rolling_stds" фиксирует рассчитанные скользящие стандартные отклонения. Используя функции Numpy для этих вычислений, мы достигаем эффективности и устраняем необходимость в циклах Python в вычислениях.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3