یک برنامه پایتون بنویسید که یک فایل CSV دارای هدر را با csv.DictReader بخواند، میانگین مقدار ستون "score" را محاسبه کند و تمام ردیفهایی را که مقدار "score" آنها کمتر از میانگین است در فایل جدید "below_average.csv" با همان هدرها ذخیره کند.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:13 0.0
برای حل این مسئله از ماژول استاندارد csv و کلاس csv.DictReader استفاده کنید: ابتدا فایل را باز کرده و با DictReader همه ردیفها را بخوانید، مقدار ستون "score" را با تبدیل به float یا int جمع و تعداد معتبرها را بشمارید تا میانگین بهدست آید. سپس یا با نگهداری لیست ردیفها یا بازخوانی فایل، ردیفهایی را که مقدار score آنها کمتر از میانگین است انتخاب کرده و با csv.DictWriter و نوشتن header آنها را در فایل "below_average.csv" ذخیره کنید. نکات: از with برای مدیریت فایل استفاده کنید، مقدارهای خالی یا غیرعددی را با try/except یا شرط نادیده بگیرید، و برای حفظ هدرها از fieldnames از DictReader بهره ببرید؛ این روش برای کارهای اتوماسیون و تحلیلی در علوم داده مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مهم این است که در محاسبه میانگین با DictReader باید مقادیر خالی یا غیر عددی را فیلتر کنید تا پاسخ نهایی معتبر شود (با try/except یا شرط تبدیل). همچنین مقدار ستون score ممکن است با فرمتهای مختلف باشد؛ بهعنوان مثال رشتهای غیر عددی یا فاصلههای سفید را در نظر بگیرید. هنگام نوشتن خروجی، fieldnames را از reader.fieldnames بگیرید تا هدرها حفظ شوند و از DictWriter با همان ساختار استفاده کنید. اگر فایل بزرگ است، دو-pass کارآمدتر است: بار اول میانگین را بسنجید و بار دوم ردیفهای زیر میانگین را بنویسید تا مصرف حافظه کنترل شود.
گزارش