Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Min Larian Tatasusunan 1D Menggunakan Fungsi `np.convolve` NumPy?

Bagaimana untuk Mengira Min Larian Tatasusunan 1D Menggunakan Fungsi `np.convolve` NumPy?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-01 06:50:10198semak imbas

How to Calculate a Running Mean of a 1D Array Using NumPy's `np.convolve` Function?

Cara Mengira Min Larian bagi Tatasusunan 1D Menggunakan SciPy atau NumPy

Min berjalan, juga dikenali sebagai purata bergerak, ialah ukuran statistik yang mengira min subset titik data dalam tetingkap tertentu apabila tetingkap meluncur merentasi data. Dalam Python, terdapat beberapa cara untuk mengira min berjalan menggunakan fungsi SciPy dan NumPy.

Fungsi SciPy

SciPy tidak mempunyai fungsi khusus untuk mengira min berjalan . Walau bagaimanapun, anda boleh menggunakan fungsi np.convolve daripada NumPy untuk melaksanakan pengiraan min berjalan.

Fungsi NumPy

Fungsi np.convolve NumPy menjalankan operasi belitan. Konvolusi, dalam konteks min berjalan, ialah proses menggunakan kernel pada data dan menjumlahkan hasilnya. Untuk mengira min berjalan, kernel ialah taburan seragam, yang memberikan berat yang sama kepada setiap titik data dalam tetingkap.

Untuk menggunakan np.convolve bagi min berjalan, anda boleh menggunakan kod berikut:

running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')

di mana:

  • tatasusunan ialah tatasusunan 1D yang mana anda ingin mengira larian min.
  • saiz_tingkap ialah saiz tetingkap di mana min dikira.
  • mode='valid' menyatakan bahawa tepi tatasusunan diabaikan, menghasilkan tatasusunan output yang lebih pendek daripada tatasusunan input mengikut saiz_tingkap - 1.

Penjelasan

NP.ones(window_size) / window_size mencipta kernel dengan pemberat seragam. np.convolve menggunakan kernel ini pada tatasusunan, menghasilkan tatasusunan cara untuk setiap tetingkap. Argumen mode='valid' memastikan bahawa tepi tatasusunan tidak disertakan dalam pengiraan, menghasilkan tatasusunan output yang mencerminkan min berjalan ke atas keseluruhan data.

Pengendalian Tepi

Argumen mod np.convolve menentukan cara mengendalikan tepi tatasusunan. Mod yang berbeza menghasilkan gelagat kelebihan yang berbeza. Jadual di bawah menyenaraikan mod yang biasa digunakan:

Mode Edge Handling
full Pads the array with zeros and returns an output array that is the same size as the input array.
same Pads the array with zeros to match the kernel size and returns an output array that is the same size as the input array.
valid Ignores the edges of the array, resulting in an output array that is shorter than the input array.

Pilihan mod bergantung pada keperluan khusus anda dan tafsiran yang anda inginkan untuk min larian di tepi tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Min Larian Tatasusunan 1D Menggunakan Fungsi `np.convolve` NumPy?. 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