我有一个人的数据集,它包括他们分配的ID从1到8,以及他们的性别。使用python,我如何使用不成比例分层采样来创建一些团队?
我使用了以下代码来获取分发:
from openpyxl import load_workbook
wb = load_workbook("dataset.xlsx")
sh = wb["Page"]
dist = []
for i in range(415):
gr = sh[f'C{i+1}'].value
gend = sh[f'D{i+1}'].value
dist.append(str(int(inc))+onc)
for i in range(8):
print(f'Grade {i+1} Males:' +str(dist.count(str(i+1)+'M')))
print(f'Grade {i+1} Females:' +str(dist.count(str(i+1)+'F')))
1条答案
按热度按时间p1tboqfb1#
根据您的数据集,我们将执行以下步骤:
1.从Excel加载数据集。
1.统计每个年级的男女人数。
1.使用不成比例分层抽样为每个团队选择样本。
以下是如何实现这些步骤:
首先,让我们修复加载数据和计算每个年级中男性和女性人数的代码。在你的代码中,你似乎使用了
inc
和onc
,它们在任何地方都没有定义。我猜你打算使用gr
和gend
代替。下面是正确的代码:接下来,我们将使用不成比例分层抽样为每个团队选择样本。不成比例分层抽样是指我们以这样一种方式选择样本,即每个分层的样本大小与总体中的比例大小不相对应。
为了简单起见,假设我们要组成10个团队,每个团队有8名成员(4名男性和4名女性),我们将从每个年级中选择一名男性和一名女性。这是一种非常简单的不成比例分层抽样形式,分层是年级和性别。以下是你可以做的:
这个代码将从每个年级随机选择一名男性和一名女性组成一个团队。这确保了每个小组都有来自所有年级和性别的成员。
请注意,这是一种简单的不成比例分层抽样,没有考虑到人口中年级和性别的实际分布。不成比例分层抽样的实际方法将需要关于样本中的期望分布的知识。