← 返回题库
初级

加载并分析每日备餐汇总

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    sums=pd.read_csv(StringIO(open_url("https://data.zuihe.com/dbd/ms-mealhub/state_04/daily_summaries.csv").read()))
    dishes=pd.read_csv(StringIO(open_url("https://data.zuihe.com/dbd/ms-mealhub/state_00/dishes.csv").read()))
    merged=sums.merge(dishes[['dish_id','name']],on='dish_id',how='left')
    print(f"Daily summaries: {len(sums)}")
    by_type=sums.groupby('meal_type').agg(ordered=('ordered_count','sum'),prepared=('prepared_count','sum')).reset_index()
    for _,r in by_type.iterrows():
        ratio=round(r['prepared']/r['ordered'],2) if r['ordered']>0 else 0
        print(f"  {r['meal_type']}: ordered={r['ordered']} prepared={r['prepared']} ratio={ratio}")

示例

输入
solve()
期望输出
Daily summaries: 120
  breakfast: ordered=608 prepared=689 ratio=1.13
  dinner: ordered=578 prepared=703 ratio=1.22
  lunch: ordered=1025 prepared=1135 ratio=1.11
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码