开始使用免费开始使用

对实验数据进行分组(Blocking)

您正在与一家制造企业合作,计划开展有关工人生产率的实验。他们的数据集只有 100 行,因此保证实验组之间的均衡非常重要。

这正是运用您关于分组(blocking)知识的大好机会。他们提供了一个 productivity_subjects DataFrame。请将该数据集拆分为两个各含 50 条记录的等量分组。

numpypandas 已分别以 nppd 导入。

本练习是课程的一部分

Python 实验设计

查看课程

练习说明

  • productivity_subjects DataFrame 中随机选取 50 名受试者到新的 DataFrame block_1,且不放回抽样。
  • block_1 DataFrame 新增一列 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())
编辑并运行代码