Bagaimanakah saya boleh mengira dengan cekap sisihan piawai untuk tatasusunan 1D dalam Numpy tanpa gelung?

Mary-Kate Olsen
Lepaskan: 2024-10-30 22:09:30
asal
177 orang telah melayarinya

How can I efficiently calculate rolling standard deviation for a 1D array in Numpy without loops?

Melaksanakan Tetingkap Rolling yang Cekap untuk Tatasusunan 1D dalam Numpy

Konsep tetingkap rolling melibatkan lelaran melalui jujukan data dan menggunakan pengiraan kepada subset data dalam panjang tetingkap tertentu. Dalam konteks yang diberikan, tugasnya adalah untuk mengira sisihan piawai bergolek tatasusunan 1D dalam Numpy tanpa menggunakan gelung Python.

Walaupun sisihan piawai boleh diperoleh dengan mudah menggunakan Numpy.std, bahagian tetingkap bergolek menimbulkan cabaran. Walau bagaimanapun, dengan memanfaatkan fungsi 'rolling_window' yang dibentangkan dalam catatan blog, kami boleh memanjangkan fungsinya kepada tatasusunan 1D.

Fungsi 'rolling_window' mencipta paparan tatasusunan input yang disusun semula menjadi satu siri tetingkap bertindih, memudahkan pengiraan yang cekap pada tingkap ini. Dengan menggunakan fungsi yang diingini, dalam kes ini, Numpy.std, pada setiap tetingkap, kami memperoleh pengiraan guling yang diingini.

Untuk menggambarkan, pertimbangkan coretan kod berikut:

<code class="python">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)</code>
Salin selepas log masuk

Dalam contoh ini, 'rolling_windows' mewakili tetingkap bertindih dan 'rolling_stds' menangkap sisihan piawai rolling yang dikira. Dengan menggunakan fungsi Numpy untuk pengiraan ini, kami mencapai kecekapan dan menghapuskan keperluan untuk gelung Python dalam pengiraan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengira dengan cekap sisihan piawai untuk tatasusunan 1D dalam Numpy tanpa gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!