Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa NumPy Tidak Mempunyai Fungsi Terbina dalam untuk Mengira Purata Pergerakan?

Mengapa NumPy Tidak Mempunyai Fungsi Terbina dalam untuk Mengira Purata Pergerakan?

Mary-Kate Olsen
Lepaskan: 2024-11-15 14:14:03
asal
727 orang telah melayarinya

Why Doesn't NumPy Have a Built-in Function for Calculating Moving Averages?

Mengira Rolling / Moving Average dengan Python NumPy / SciPy

walaupun kegunaan purata bergerak dalam analisis siri masa, NumPy dan SciPy tidak menawarkan fungsi kendiri untuk tujuan ini, menimbulkan persoalan tentang rasional di sebalik ini peninggalan.

Melaksanakan Purata Pergerakan dalam NumPy

Satu pendekatan mudah untuk melaksanakan purata bergerak dalam NumPy ialah melalui fungsi np.cumsum, yang mengumpul elemen tatasusunan. Tatasusunan cumsum yang terhasil kemudiannya boleh dihiris dengan sewajarnya untuk mendapatkan purata bergerak.

def moving_average(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n
Salin selepas log masuk

Kaedah ini agak pantas dan mengelakkan penyelesaian berbelit yang terdedah kepada ralat.

Sebab Kekurangan Bateri Termasuk Kefungsian

Walaupun kelihatan mudah untuk bergerak pelaksanaan purata, sebab ketiadaannya dalam fungsi teras NumPy berkemungkinan berkaitan dengan sifat pengkhususan operasi tersebut. NumPy memfokuskan pada menyediakan operasi berangka asas, manakala algoritma khusus seperti analisis siri masa sering diserahkan kepada pakej khusus. Pendekatan ini membolehkan NumPy mengekalkan fungsi terasnya dan mengelakkan kembungnya dengan alatan khusus.

Atas ialah kandungan terperinci Mengapa NumPy Tidak Mempunyai Fungsi Terbina dalam untuk Mengira Purata Pergerakan?. 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