AI & Data Dreamers練功房
寶箱片場規則
DATA GATES・資料處理關卡・中階・4 題

Pandas 中階・多層分組、分級與轉換

這一頁是題幹試閱;登入/註冊後每題可以在瀏覽器裡執行、對答案,第一次交對 +10 XP。

  1. 01

    會員折扣規則

    中等apply 自訂函式

    訂單表 orders 有 member_level(gold/silver/normal)與 amount。折扣規則:

    • gold:一律 8 折。
    • silver:amount 大於等於 1000 打 9 折,否則不打折。
    • normal:amount 大於等於 3000 打 95 折,否則不打折。

    請寫一個函式處理一列資料,用 apply(..., axis=1) 新增 pay 欄(折後金額,四捨五入成整數)。

    result 保留 order_id、member_level、amount、pay 四欄,列順序與原表相同。

    作答方式:資料已在程式裡建好。只改「TODO」那一段,最後的 print 保留不動,輸出才能自動對答案。本題在瀏覽器內以 Pyodide 執行(pandas 2.3)。

    作答登入後可作答
  2. 02

    區域×品類彙總

    中等多層 groupby

    銷售明細 sales 要依「區域+品類」兩層分組,算出每組的筆數、總額、平均。

    result 五欄:region、category、n(筆數)、total(amount 加總)、avg(amount 平均,四捨五入到整數,型別為整數)。

    排序:先依 total 由大到小;total 相同時依 region、category 由小到大。

    作答方式:資料已在程式裡建好。只改「TODO」那一段,最後的 print 保留不動,輸出才能自動對答案。本題在瀏覽器內以 Pyodide 執行(pandas 2.3)。

    作答登入後可作答
  3. 03

    回應時間分級

    中等分箱 cut

    API 監控 calls 記錄了每次呼叫的 endpoint 與 ms(回應毫秒)。請把回應時間分成三級並計數:

    • fast:0 < ms ≤ 100
    • normal:100 < ms ≤ 500
    • slow:500 < ms

    counts 是一個 Series:索引依序為 fast、normal、slow(照級別順序,不依次數排),值為各級筆數。

    作答方式:資料已在程式裡建好。只改「TODO」那一段,最後的 print 保留不動,輸出才能自動對答案。本題在瀏覽器內以 Pyodide 執行(pandas 2.3)。

    作答登入後可作答
  4. 04

    訂單占客戶比例

    中等groupby transform

    訂單表 orders 中,請替每筆訂單算出「這筆金額占該客戶所有訂單總額的百分比」。

    新增 share 欄:amount ÷ 該客戶 amount 總和 × 100,四捨五入到小數 1 位。

    result 保留 order_id、customer、amount、share 四欄,依 customer、order_id 由小到大排序。

    作答方式:資料已在程式裡建好。只改「TODO」那一段,最後的 print 保留不動,輸出才能自動對答案。本題在瀏覽器內以 Pyodide 執行(pandas 2.3)。

    作答登入後可作答