Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengira Sisihan Piawai Bergolek pada Tatasusunan NumPy 1D Menggunakan Tetingkap Bergolek?

Bagaimanakah Saya Boleh Mengira Sisihan Piawai Bergolek pada Tatasusunan NumPy 1D Menggunakan Tetingkap Bergolek?

Patricia Arquette
Patricia Arquetteasal
2024-10-28 12:33:01528semak imbas

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

Pelaksanaan Tetingkap Bergulir untuk Tatasusunan 1D dalam NumPy

Untuk pengendalian tetingkap bergolek pada tatasusunan 1D yang cekap, NumPy menyediakan pelaksanaan yang berguna. Mari kita pertimbangkan senario di mana kita mempunyai tatasusunan NumPy 1D yang dipanggil pemerhatian. Untuk mengira sisihan piawai bergolek dengan panjang tetingkap n, kita boleh memanfaatkan pendekatan berikut:

<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>

Coretan kod ini dengan cekap menggunakan fungsi NumPy std pada setiap tetingkap, menghasilkan nilai sisihan piawai bergolek yang diingini . Ambil perhatian bahawa anda boleh menggantikan np.std dengan mana-mana fungsi lain yang anda ingin gunakan pada data bertingkap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Sisihan Piawai Bergolek pada Tatasusunan NumPy 1D Menggunakan Tetingkap Bergolek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn