Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengira Sisihan Piawai Tetingkap Bergulir pada Tatasusunan 1D Menggunakan Numpy?

Bagaimana untuk Mengira Sisihan Piawai Tetingkap Bergulir pada Tatasusunan 1D Menggunakan Numpy?

Mary-Kate Olsen
Lepaskan: 2024-10-28 03:23:30
asal
378 orang telah melayarinya

How to Calculate Rolling Window Standard Deviations on 1D Arrays Using Numpy?

Menggunakan Numpy untuk Menggulingkan Sisihan Piawai Tetingkap pada Tatasusunan 1D

Dalam numpy, operasi selalunya timbul di mana seseorang perlu mengira fungsi tetingkap bergolek melalui tatasusunan 1D. Pendekatan yang mudah ialah menggunakan gelung, seperti yang ditunjukkan dalam coretan kod Python yang diberikan. Walau bagaimanapun, kaedah yang lebih cekap tersedia melalui Numpy's强大功能.

Kunci untuk melaksanakan operasi rolling window dalam Numpy terletak pada penggunaan fungsi rolling_window yang diperkenalkan dalam catatan blog. Fungsi ini membentuk semula tatasusunan input menjadi satu siri tetingkap bertindih, dengan berkesan mencipta tatasusunan 2D. Menggunakan fungsi pada tatasusunan 2D ini membolehkan pengiraan berasaskan tetingkap.

Untuk mengira sisihan piawai bergolek, hanya gunakan fungsi numpy.std pada output fungsi rolling_window. Coretan kod yang diubah suai berikut menunjukkan pendekatan ini:

import numpy as np

# Define the rolling window function
def rolling_window(a, window):
    shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
    strides = a.strides + (a.strides[-1],)
    return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)

# Input array
observations = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Calculate rolling standard deviations
stdev = np.std(rolling_window(observations, 3), 1)

# Print the results
print(stdev)
Salin selepas log masuk

Coretan kod ini dengan cekap mengira sisihan piawai bergolek untuk tatasusunan 1D yang diberikan menggunakan operasi Numpy tulen, menghapuskan keperluan untuk gelung.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Sisihan Piawai Tetingkap Bergulir pada Tatasusunan 1D Menggunakan Numpy?. 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