Rumah > Artikel > pembangunan bahagian belakang > Mengapa NumPy Tidak Mempunyai Fungsi Terbina dalam untuk Mengira Purata Pergerakan?
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
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!