对实验数据进行分组(Blocking)
您正在与一家制造企业合作,计划开展有关工人生产率的实验。他们的数据集只有 100 行,因此保证实验组之间的均衡非常重要。
这正是运用您关于分组(blocking)知识的大好机会。他们提供了一个 productivity_subjects DataFrame。请将该数据集拆分为两个各含 50 条记录的等量分组。
库 numpy 和 pandas 已分别以 np 和 pd 导入。
本练习是课程的一部分
Python 实验设计
练习说明
- 从
productivity_subjectsDataFrame 中随机选取 50 名受试者到新的 DataFrameblock_1,且不放回抽样。 - 为
block_1DataFrame 新增一列block,其取值设为 1。 - 将其余受试者分配到名为
block_2的 DataFrame,并将该 DataFrame 的block列设为 2。 - 将两个分组拼接为一个 DataFrame,并打印
block列中各取值的计数,以确认分组是否正确。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Randomly assign half
block_1 = productivity_subjects.____(____, random_state=42, ____)
# Set the block column
block_1['block'] = ____
# Create second assignment and label
block_2 = ____
block_2['block'] = ____
# Concatenate and print
productivity_combined = pd.____([block_1, block_2], axis=0)
print(productivity_combined['block'].value_counts())