Bagaimana untuk Mengira Min Berjalan dalam Python Menggunakan SciPy atau NumPy?

Patricia Arquette
Lepaskan: 2024-11-22 19:52:16
asal
140 orang telah melayarinya

How to Calculate a Running Mean in Python Using SciPy or NumPy?

Mencari Min Running dalam Python

Dalam Python, pengiraan min larian tatasusunan 1D untuk tetingkap tertentu boleh dicapai menggunakan SciPy atau fungsi NumPy.

Menggunakan SciPy

Jika SciPy tersedia, anda boleh menggunakan fungsi scipy.signal.convolve:

from scipy.signal import convolve

running_mean = convolve(array, np.ones(window) / window, mode='valid')
Salin selepas log masuk

Ini adalah kaedah yang diutamakan, jika sesuai, kerana secara amnya ia cekap, mempunyai tingkah laku yang jelas, dan terutamanya kerana ia sangat umum.

Menggunakan NumPy

Jika anda hanya mempunyai NumPy, anda boleh menggunakan fungsi np.convolvenya:

running_mean = np.convolve(array, np.ones(window) / window, mode='valid')
Salin selepas log masuk

Memahami np.convolve

Operasi teras di sini ialah konvolusi. Konvolusi biasanya dinyatakan sebagai jumlah matematik tunggal ke atas hasil darab bahagian dua isyarat. Tafsiran dalam kes ini ialah kita mendarabkan bahagian tetingkap dengan pekali (1/tetingkap, 1/tetingkap, ..., 1/tetingkap), yang sama dengan pemberat yang digunakan dalam formula min dan kemudian kita menjumlahkan atas produk.

Mengendalikan Tepi

Hujah mod np.convolve mengawal cara mengendalikan tepi. 'sah' mengalih keluar semua kesan tepi dengan hanya memasukkan bahagian di mana setiap tetingkap muat sepenuhnya dalam tatasusunan, 'sama' menambah sifar pada tepi untuk menjadikan tatasusunan output sama panjang dengan tatasusunan input, dan 'penuh' menambah padding sifar untuk membuat tatasusunan keluaran selagi jumlah panjang tetingkap dan panjang input tolak satu. Pilihan mod bergantung pada keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Min Berjalan dalam Python Menggunakan SciPy atau 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