با استفاده از 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 است و نیازی به فایل‌های دیسک ندارد.

توسط پژوهشگر در 203 روز قبل ساعت 02:35
دسته بندی ها: Python Python for beginner
arash در 203 روز قبل ساعت 09:08

برای این کار می‌توانید یک رشته CSV در حافظه بسازید، آن را به بایت‌ها (UTF-8) تبدیل کرده و در io.BytesIO قرار دهید. هنگام خواندن با pandas.read_csv، فراموش نکنید پیش از هر بار خواندن از seek(0) استفاده کنید تا بافر دوباره از ابتدای فایل خوانده شود. برای محاسبهٔ میانگین ستون score از df['score'].mean() استفاده کنید و نتیجه را در یک DataFrame کوچک ذخیره کنید. در نهایت همان DataFrame را با df.to_csv به یک BytesIO جدید بنویسید و با getvalue() بایت‌های نهایی را بگیرید (پس از مراجعه به seek(0) اگر لازم باشد).

گزارش

1 پاسخ

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

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