開始使用免費開始

實作 randomized block design

你先前合作的這家製造公司,仍想針對員工生產力進行一些實驗。之前的兩個區組(block)是隨機設定的。這樣做可行,但若能依相似特徵來分組會更好。

這次一樣載入相同的員工資料,但放在名為 productivity 的 DataFrame 中,另外還包含 1200 位同事。資料也包含一個以每小時產出單位計算的員工 'productivity_score' 欄位。這個欄位已被分箱成三組,以便依相似的生產力值建立區組。公司想在全公司推行一個新的獎勵方案,包含三種選項('Bonus''Profit Sharing''Work from Home'),並隨機指派處置。

numpypandas 已分別以 nppd 載入。

本練習屬於課程

Python 的實驗設計

檢視課程

練習說明

  • block 打散重排,建立新的 DataFrame prod_df
  • 重設索引,避免 block 同時是索引與欄位。
  • 'Treatment' 欄位中隨機指派三種處置值。

動手互動練習

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

# Randomly assign workers to blocks
prod_df = productivity.____('____').apply(
  lambda x: x.____(____)
)

# Reset the index
prod_df = prod_df.____(____)

# Assign treatment randomly
prod_df['Treatment'] = np.random.choice(
  ['____', '____', '____'],
  size=len(____)
)
編輯並執行程式碼