Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Min Berjalan (Purata Pergerakan) dalam Python Menggunakan NumPy?

Bagaimana untuk Mengira Min Berjalan (Purata Pergerakan) dalam Python Menggunakan NumPy?

Susan Sarandon
Susan Sarandonasal
2024-11-27 19:16:11266semak imbas

How to Calculate a Running Mean (Moving Average) in Python Using NumPy?

Menjalankan Min dalam Python dengan NumPy

Mengira min berjalan, juga dikenali sebagai purata bergerak, tatasusunan 1D ialah tugas biasa dalam analisis data. NumPy menyediakan alat berkuasa yang dipanggil np.convolve untuk melaksanakan operasi lilitan, termasuk min berjalan.

Definisi dan Pelaksanaan:

Min larian melibatkan gelongsor tingkap di sepanjang tatasusunan input dan mengira min nilai dalam tetingkap pada setiap langkah. Dalam NumPy, ini dicapai seperti berikut:

import numpy as np

array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
window_size = 3

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

Penjelasan:

  • np.ones(window_size) mencipta tatasusunan yang mempunyai saiz yang sama dengan saiz tetingkap.
  • np.ones(saiz_tingkap) / saiz_tingkap menormalkan tatasusunan dengan membahagikan setiap elemen dengan saiz tetingkap, menghasilkan kernel untuk mengira min aritmetik.
  • np.convolve mengambil kernel dan melilitkannya dengan tatasusunan input, melakukan pengiraan min gelongsor.
  • mode='valid' menyatakan bahawa hanya bahagian tatasusunan yang boleh dilindungi sepenuhnya oleh tetingkap harus dikembalikan, menyebabkan dalam hasil saiz len(array) - window_size 1.

Pengendalian Tepi:

Argumen mod dalam np.convolve mengawal cara tepi tatasusunan dikendalikan semasa lilitan. Mod yang tersedia adalah 'penuh', 'sama' dan 'sah':

  • 'penuh' termasuk kedua-dua panjang asal dan sifar tambahan.
  • 'sama' menambahkan sifar sehingga bentuk keluaran adalah sama dengan bentuk input.
  • 'sah' hanya termasuk bahagian tatasusunan yang boleh diliputi sepenuhnya oleh tetingkap.

Mod 'sah' biasanya digunakan untuk min berjalan, kerana ia memberikan hasil yang tidak termasuk bahagian bertingkap pada permulaan dan penghujung tatasusunan.

Contoh:

Dalam contoh di atas, hasilnya akan be:

[4.  5.  6.  7.  8.  9.]

Ini mewakili min larian tatasusunan input dengan saiz tetingkap 3.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Min Berjalan (Purata Pergerakan) dalam Python Menggunakan 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