
image.png

image.png
抽取樣本, 樣本量為200
np.random.seed(42)
coffee_full = pd.read_csv('coffee_dataset.csv')
coffee_red = coffee_full.sample(200) #this is the only data you might actually get in the real world.
coffee_red.head()

image.png
計(jì)算樣本中喝咖啡的均值
(coffee_red[coffee_red['drinks_coffee'] == True]['height'].mean()
>68.11962990858618
重復(fù)抽取樣本,計(jì)算其他樣本中喝咖啡的均值,得到抽樣分布
boot_means = []
for _ in range(10000):
bootsample = coffee_full.sample(200, replace=True)
mean = bootsample[bootsample['drinks_coffee'] == False]['height'].mean()
boot_means.append(mean)
繪制抽樣分布

image.png
計(jì)算抽樣分布的置信區(qū)間以估計(jì)總體均值, 置信度95%
np.percentile(boot_means, 2.5), np.percentile(boot_means, 97.5)
(65.7156685999191, 67.17367777514218)