یک برنامه پایتون بنویس که با استفاده از تابع builtin enumerate یک فایل متنی شامل ستون اعداد را بخواند، هر مقدار را با یک ضریب ثابت نرمال‌سازی کند، میانگین و انحراف معیار هر پنجرهٔ لغزشی با طول n را محاسبه کند و نتایج را در یک فایل خروجی ذخیره نماید.

3.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:24

0.0

فایل ورودی را با open و خواندن خط‌به‌خط باز کنید، خطوط را strip و با map(float, ...) به لیست اعداد تبدیل کنید. از enumerate برای دسترسی هم‌زمان به اندیس و مقدار هنگام نوشتن خروجی یا برچسب‌گذاری پنجره‌ها استفاده کنید. برای محاسبه‌ی میانگین و انحراف معیار می‌توانید از ماژول استاندارد statistics (statistics.mean، statistics.stdev) یا numpy (np.mean، np.std) استفاده کنید. برای پنجرهٔ لغزشی یک حلقه روی اندیس‌ها اجرا کنید (مثلاً for i in range(len(vals)-n+1): window=vals[i:i+n])، سپس نتایج را به‌صورت CSV یا متن قالب‌بندی‌شده در فایل خروجی بنویسید؛ توجه کنید که برای لبه‌ها تصمیم بگیرید (نادیده گرفتن یا پد کردن) و ورودی‌ها و ضریب را از کاربر یا پارامترها دریافت کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:24
دسته بندی ها: Python Python for beginner
nima در 201 روز قبل ساعت 06:33

برای جلوگیری از خطاهای ورودی، هر خط را با strip بخوانید، از وجود مقادیر خالی یا غیر عددی جلوگیری کنید و به float تبدیل کنید. استفاده از enumerate برای دسترسی هم‌زمان به اندیس و مقدار خوب است اما مطمئن شوید خروجی یا برچسب‌ها با اندیس صحیح مطابقت دارد و از شروع مناسب استفاده کنید. برای پنجرهٔ لغزشی با طول n، حلقه i در range(len(vals) - n + 1) اجرا کنید و با window = vals[i:i+n] میانگین و انحراف معیار محاسبه و خروجی را به صورت CSV بنویسید؛ تصمیم بگیرید که لبه‌ها را چگونه هندل کنید (نادیده یا padding). اگر کارایی اهمیت دارد، می‌توانید با numpy/pandas و توابع rolling کار را ساده‌تر و سریع‌تر کنید و ضریب نرمال‌سازی را قبل از پنجره‌ها اعمال کنید.

گزارش

2 پاسخ

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

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