با استفاده از io.BytesIO یک CSV در حافظه ایجاد کنید که شامل ستونهای "name" و "score" باشد، آن را با pandas بخوانید، میانگین ستون score را محاسبه کنید و نتیجه را به صورت یک CSV در یک BytesIO جدید ذخیره کنید.
3.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:35 0.0
برای حل این سوال میتوانید یک رشته CSV بسازید و با encode آن را به بایت تبدیل کنید و در io.BytesIO قرار دهید، سپس از pandas.read_csv برای خواندن مستقیم از BytesIO استفاده کنید. میانگین را با df['score'].mean() محاسبه کرده و نتیجه را در یک DataFrame کوچک قرار دهید و با df.to_csv در یک BytesIO جدید بنویسید؛ یادتان باشد قبل از خواندن یا بازخوانی buffer از روش seek(0) استفاده کنید و برای بدست آوردن بایتهای نهایی از getvalue() بهره ببرید. این تمرین مناسب Domainهای Data Science و Automation/Scripting است و نیازی به فایلهای دیسک ندارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای این کار میتوانید یک رشته CSV در حافظه بسازید، آن را به بایتها (UTF-8) تبدیل کرده و در io.BytesIO قرار دهید. هنگام خواندن با pandas.read_csv، فراموش نکنید پیش از هر بار خواندن از seek(0) استفاده کنید تا بافر دوباره از ابتدای فایل خوانده شود. برای محاسبهٔ میانگین ستون score از df['score'].mean() استفاده کنید و نتیجه را در یک DataFrame کوچک ذخیره کنید. در نهایت همان DataFrame را با df.to_csv به یک BytesIO جدید بنویسید و با getvalue() بایتهای نهایی را بگیرید (پس از مراجعه به seek(0) اگر لازم باشد).
گزارش