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')
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')
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!