如何从numpy人群中获取重复样本并计算样本均值?

2024-04-18 08:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在这里的第一篇文章。这是我的问题:

我得到了整个人群的高度分布(随机生成的种子):

seed(47)
pop_heights = norm.rvs(172, 5, size=50000)

_ = plt.hist(pop_heights, bins=30)
_ = plt.xlabel('height (cm)')
_ = plt.ylabel('number of people')
_ = plt.title('Distribution of heights in entire town population')
_ = plt.axvline(172, color='r')
_ = plt.axvline(172+5, color='r', linestyle='--')
_ = plt.axvline(172-5, color='r', linestyle='--')
_ = plt.axvline(172+10, color='r', linestyle='-.')
_ = plt.axvline(172-10, color='r', linestyle='-.')

然后,定义了从人群中随机抽取10个高度的函数,称为每日抽样:

def townsfolk_sampler(n):
    return np.random.choice(pop_heights, n)
seed(47)
daily_sample1 = townsfolk_sampler(10)
np.mean(daily_sample1)

我现在的任务是:

问题8:模拟一年中每天进行这项随机试验,计算每天10个样本的平均值,并绘制平均值的结果抽样分布图

这是我到目前为止所拥有的,但是我不确定我是否正确地写了它,或者是否有效地写了它

yearly_sample = pd.DataFrame({'meanheight':[np.mean(townsfolk_sampler(10)) for i in range(365)]})
print(yearly_sample)

我正在寻找编写此函数的正确方法。提前谢谢你


Tags: of函数in高度nppltpopcolor