Python · از صفر برای نوشتن و اجرای کد وارد شوید
گزارش دستههای هزینه با Pandas
تمرین مرحلهٔ 24: ساخت جدول و تجمیع مبلغ بر اساس دسته؛ بدون نیاز به یادگیری ماشین و با ارزیابی واقعی خروجی.
۶۶ دقیقه · ۱۴۰ XP · Pandas · DataFrame · groupby
هدف و راهنمای انجام
ساخت جدول و تجمیع مبلغ بر اساس دسته
ورودی
request.json: rows: لیست category رشتهای و amount عددی غیرمنفی بدون مقدار گمشده. لیست خالی: total=0 و by_category خالی.
خروجی
result.json مطابق ساختار مثال؛ تمام کلیدهای نشاندادهشده الزامی هستند.
- مقالهٔ پیشنیاز را بخوانید و نمونهکد آن را جدا اجرا کنید.
- از rows یک DataFrame با ستونهای category و amount میسازیم. groupby بر اساس دسته، سطرهای همنام را کنار هم قرار میدهد و sum مبلغ هر گروه را جمع میکند. نتیجه ابتدا Series است و با to_dict به نگاشت قابل استفاده در JSON تبدیل میشود. مجموع کل از همان ستون amount به دست میآید؛ مقدارها در این قرارداد عددی و غیرگمشدهاند.
- در main.py تابع solve(data) را تکمیل کنید؛ بخش خواندن request.json و نوشتن result.json را حفظ کنید.
- با ورودی نمونه و حالتهای مرزیِ راهنما اجرا کنید؛ سپس ارزیابی را بزنید.
Python 3؛ دادهٔ ورودی طبق قرارداد است. تابع solve باید برای همهٔ ورودیها کار کند، نه فقط مثال. کتابخانهٔ لازم: pandas؛ در میزکار سایت آماده است.
مثال ورودی و خروجی
{
"input": {
"rows": [
{
"category": "book",
"amount": 10
},
{
"category": "transport",
"amount": 5
},
{
"category": "book",
"amount": 2
}
]
},
"output": {
"total": 17,
"by_category": {
"book": 12,
"transport": 5
}
}
}معیارهای موفقیت
- ساختار و نوع خروجی با قرارداد برابر است.
- محاسبه برای چند ورودی متفاوت و حالتهای مرزی درست است.
- اجرای ساده XP نمیدهد؛ فقط قبولی ارزیابی معتبر باعث ثبت تکمیل میشود.
کتابخانهها: pandas
پیشنیاز و ترتیب یادگیری
- محیط مجازی، pip و شروع NumPy از صفر
برای شروع، مقالهٔ بالا را بخوانید. Python 3 و کتابخانههای موردنیاز در میزکار آمادهاند؛ نصب آنلاین از ترمینال میزکار لازم نیست.
