实现随机区组设计
您之前合作的制造公司仍想就工人生产率开展实验。之前的两个区组是随机设置的。虽然可行,但根据相似特征对受试者分组会更好。
这次仍然加载相同的员工数据,但放在名为 productivity 的 DataFrame 中,并包含另外 1200 名同事。数据还包含按每小时产量计算的员工 'productivity_score' 列。该列已分箱为 3 组,以基于相似的生产率生成区组。公司计划在全公司随机施加处理,推行包含 3 个选项的新激励方案('Bonus'、'Profit Sharing' 和 'Work from Home')。
numpy 和 pandas 分别以 np 和 pd 名称加载。
本练习是课程的一部分
Python 实验设计
练习说明
- 打乱
block,创建名为prod_df的新 DataFrame。 - 重置索引,使
block不再同时作为索引和列。 - 在
'Treatment'列中随机分配 3 个处理取值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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(____)
)