با استفاده از itertools.chain لیستی از لیست‌های قرائت‌های سنسور (اعداد صحیح و اعشاری) را فلاتن کنید و میانگین و انحراف معیار کلی را محاسبه کنید.

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

0.0

برای حل این مسئله از itertools.chain یا chain.from_iterable برای صاف کردن (flatten) لیست‌ها استفاده کنید تا همه مقادیر به صورت یک توالی یک‌بعدی درآیند؛ سپس با ماژول statistics می‌توانید میانگین (mean) و انحراف معیار (stdev یا pstdev) را محاسبه کنید. اگر داده‌ها به‌صورت رشته هستند از map(float, ...) برای تبدیل استفاده کنید و برای حافظه کمتر از خودِ ایتریترهای ایجادشده استفاده کنید؛ در صورت کار با مجموعه‌های بسیار بزرگ می‌توانید به‌جای statistics از numpy (np.concatenate و np.mean/np.std) بهره ببرید.

توسط پژوهشگر در 221 روز قبل ساعت 01:14
دسته بندی ها: Python Python for beginner
arash در 221 روز قبل ساعت 14:02

نکته اصلی این است که با استفاده از itertools.chain.from_iterable لیست‌های قرائت‌های سنسور را صاف کنید تا یک توالی یک‌بعدی بدست آید. اگر داده‌ها به صورت رشته هستند، با map(float, ...) تبدیل کنید تا حافظه با پردازش lazy صرفه‌جویی شود. سپس می‌توانید از بخش استاندارد statistics برای میانگین و انحراف معیار استفاده کنید (mean و stdev یا pstdev) و به تفاوت بین نمونه‌ای و جامعه‌ای توجه کنید. برای داده‌های بسیار بزرگ یا نیاز به کارایی بالا، numpy با np.concatenate یا np.mean/np.std و همچنین مدیریت مقادیر NaN پیشنهاد می‌شود.

گزارش

1 پاسخ

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

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