با استفاده از Python و collections.defaultdict، تابعی بنویس که یک لیست از اعداد اعشاری و تعداد بین (bins) را بگیرد و هیستوگرام باینشده (شماره هر بین یا بازه به عنوان کلید و شمارش عناصر آن بازه به عنوان مقدار) را برگرداند.
8.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:37 0.0
برای حل، از collections.defaultdict(int) برای جمعآوری شمارش هر بین استفاده کن. ابتدا حداقل و حداکثر ورودی را یافته و عرض هر بین را محاسبه کن، سپس برای هر عدد شاخص بین را با int((x − min)/width) بهدست آور و مطمئن شو که مقادیر مرزی به بین آخر اختصاص مییابند (مثلاً با min(index, bins-1)). به خاطر داشته باش ورودی تهی و حالت width برابر صفر را مدیریت کنی. برای بهبود کارایی در دادههای بزرگ میتوان از numpy برای محاسبه سریعتر یا از تکنیکهای محلیسازی متغیرها در حلقه استفاده کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ساخت هیستوگرام باینشده با defaultdict، ابتدا کمینه و بیشینه ورودی را پیدا کنید و عرض هر بین را محاسبه کنید. سپس برای هر عدد شاخص بین را با int((x − min) / width) بهدست آورید و مطمئن شوید مرزها به بین آخر اختصاص مییابد (مثلاً با min(index, bins-1)). ورودی تهی یا width برابر صفر را بهطور خاص مدیریت کنید و از collections.defaultdict(int) برای جمعآوری شمارش استفاده کنید. برای کارایی در دادههای بزرگ میتوانید از numpy یا تکنیکهای بهینهسازی حلقه و نگهداری متغیرهای محلی استفاده کنید.
گزارش