← 返回题库
初级

找出最受欢迎的菜品

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    restaurants_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/restaurants.csv").read()
    menu_items_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/menu_items.csv").read()
    riders_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/riders.csv").read()
    orders_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/orders.csv").read()
    order_items_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/order_items.csv").read()
    delivery_logs_csv = open_url("https://data.zuihe.com/dbd/delivery/state_E01/delivery_logs.csv").read()
    import sqlite3
    import pandas as pd
    from io import StringIO

    conn = sqlite3.connect(':memory:')
    pd.read_csv(StringIO(order_items_csv)).to_sql('order_items', conn, index=False, if_exists='replace')
    pd.read_csv(StringIO(menu_items_csv)).to_sql('menu_items', conn, index=False, if_exists='replace')
    pd.read_csv(StringIO(restaurants_csv)).to_sql('restaurants', conn, index=False, if_exists='replace')

    result = pd.read_sql_query("""
        SELECT m.name AS item_name, r.name AS restaurant_name,
               SUM(oi.qty) AS order_count,
               SUM(oi.qty * oi.price) AS total_revenue
        FROM order_items oi
        JOIN menu_items m ON oi.menu_item_id = m.id
        JOIN restaurants r ON m.restaurant_id = r.id
        GROUP BY m.id, m.name, r.name
        ORDER BY order_count DESC
        LIMIT 10
    """, conn)
    print(result.to_string(index=False))
    conn.close()

示例

输入
solve()
期望输出
item_name restaurant_name  order_count  total_revenue
      炸酱面          老北京炸酱面            5          126.0
       卤蛋           重庆小面馆            4           24.0
    巨无霸套餐          麦当劳朝阳店            3          114.0
    三文鱼刺身            一品寿司            3          264.0
     京酱肉丝          老北京炸酱面            2           56.0
      拍黄瓜          老北京炸酱面            2           24.0
   麻辣烫套餐A           蜀香麻辣烫            2           64.0
       冰粉           蜀香麻辣烫            2           20.0
   麦乐鸡20块          麦当劳朝阳店            2           56.0
  香辣鸡腿堡套餐         肯德基西直门店            2           66.0
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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