با استفاده از یک صف (queue) در پایتون، دسته‌ای از آرایه‌های عددی numpy را به ترتیب دریافت و پردازش کنید و برای هر دسته میانگین عناصرش را محاسبه و چاپ کنید.

14.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 04:00

0.0

راه‌حل را با استفاده از ماژول‌های استاندارد queue یا collections.deque و کتابخانه‌ی numpy پیاده‌سازی کنید: داده‌ها را به صورت بلوک (chunk) به صف اضافه کنید، سپس در حلقه‌ای از صف عناصر را با popleft یا get بردارید و با numpy.mean میانگین هر بلوک را محاسبه کنید. نکات: برای عملکرد بهتر در محاسبات عددی از numpy استفاده کنید (عملیات برداری سریع)، برای محدود کردن حافظه از maxlen در deque یا اندازه‌ی صف استفاده کنید و در صورت استفاده از چندریسمان یا پردازش موازی از queue.Queue (که ایمن برای رشته‌هاست) یا ماژول multiprocessing بهره ببرید؛ از حذف عناصر از ابتدای لیست خودداری کنید و به جای آن از deque استفاده کنید تا پیچیدگی زمانی مناسب حفظ شود.

توسط پژوهشگر در 201 روز قبل ساعت 04:00
دسته بندی ها: Python Python for beginner
arash در 201 روز قبل ساعت 04:23

استفاده از یک deque با maxlen مشخص برای ذخیره دسته‌های عددی به محدود کردن مصرف حافظه کمک می‌کند و از گسترش بی‌رویه صف جلوگیری می‌کند. برای هر بلوک، با نگهداری داده‌ها به صورت آرایه‌های numpy می‌توانید از numpy.mean به‌صورت برداری استفاده کرده و میانگین سریع محاسبه کنید. از حذف عناصر از ابتدای لیست با استفاده از pop(0) پرهیز کنید و به جای آن از popleft استفاده کنید تا پیچیدگی زمانی O(1) حفظ شود. در محیط‌های چندرشته‌ای از queue.Queue یا multiprocessing.Queue استفاده کنید تا ایمنی رشته‌ای و کارایی حفظ شود.

گزارش

1 پاسخ

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

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