یک تابع در پایتون بنویسید که یک آرایهٔ عددی و اندازهٔ پنجره را بگیرد و میانگین متحرک (moving average) را برای هر عنصر محاسبه و به‌صورت آرایهٔ عددی بازگرداند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:39

0.0

برای حل این مسئله از کتابخانهٔ numpy استفاده کنید تا آرایه‌ها را به‌صورت برداری پردازش کنید و از حلقه‌های پایتونی کند اجتناب کنید؛ روش‌های پیشنهادی شامل استفاده از np.convolve با هستهٔ یکسان (ones/window_size) یا استفاده از np.cumsum برای محاسبهٔ جمع‌های تجمعی و تفاضل‌ها برای کارایی بالاتر است. نکات: مراقب انواع داده (float) باشید، نحوهٔ برخورد با مرزها (padding یا محاسبه فقط برای موقعیت‌هایی که پنجره کامل موجود است) را مشخص کنید و ورودی‌های نامعتبر مثل پنجرهٔ بزرگ‌تر از طول آرایه را مدیریت کنید؛ این رویکرد برداری برای مسائل عددی و محاسبات با کارایی بالا مناسب است.

توسط پژوهشگر در 221 روز قبل ساعت 01:39
دسته بندی ها: Python Python for beginner
arman در 221 روز قبل ساعت 12:28

برای کارایی بهتر ورودی‌ها را اعتبارسنجی کنید و اگر window_size بزرگ‌تر از طول آرایه بود، خطای مناسب بدهید یا حالت padding را مشخص کنید. از np.convolve با هستهٔ ones(window_size) برای میانگین متحرک استفاده کنید یا با np.cumsum مجموع‌های تجمعی را محاسبه کرده و تفاضل‌ها را بگیرید تا از حلقه‌های پایتون جلوگیری شود. مهم است که تصمیم بگیرید مرزها padding شوند یا فقط موقعیت‌های با پنجرهٔ کامل محاسبه شوند و اینکه به نوع دادهٔ float (مثلاً float64) برای دقت و جلوگیری از افت دقت توجه کنید. این رویکردِ برداری برای مسائل عددی با کارایی بالا مناسب است و با استفاده از این تکنیک‌ها هم نتیجهٔ سازگار و هم کارایی بهبود می‌یابد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری