開始使用免費開始

員工分區內的 ANOVA

延續你先前在製造業公司的分析,你已經在不同分區下檢視過員工生產力,並導入了獎勵方案。現在要更深入探索資料。公司在 productivity DataFrame 中補充了更完整的資料,新增了 1200 位員工及其 productivity_score,並依生產力水準將員工分成三個分區。每位員工隨機指派到三種激勵選項之一:「Bonus」、「Profit Sharing」或「Work from Home」。

在評估這些激勵處置對生產力的整體影響之前,關鍵是先確認最初的處置指派在不同生產力分區之間確實是隨機且平均分配的。這能確保日後觀察到的生產力差異,可以自信地歸因於激勵方案本身,而非分區既有的差異。

scipy.stats 中的 f_oneway() 函式已為你載入。

本練習屬於課程

Python 的實驗設計

檢視課程

練習說明

  • 依據資料中代表不同分區的適當欄位,對 prod_df 進行分組。
  • 使用一個 lambda 函式,在每個分區內套用 ANOVA 檢定,並明確指定 lambda 的參數。
  • 在每個分區內,針對各個處置組別,根據「Treatment」欄位的值過濾 prod_df,並選取「productivity_score」欄位。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Perform the within blocks ANOVA, first grouping by block
within_block_anova = prod_df.groupby('____').apply(
  # Set function
  lambda x: ____(
    # Filter Treatment values based on outcome
    x[x['____'] == '____']['____'], 
    x[x['____'] == '____']['____'],
    x[x['____'] == '____']['____'])
)
print(within_block_anova)
編輯並執行程式碼