现在,我们可以比较第一胎和其他胎的妊娠周数分布了。我将成功生产的DataFrame按照birthord值进行划分,并计算其直方图。

firsts = live[live.birthord == 1]
others = live[live.birthord != 1]

first_hist = thinkstats2.Hist(firsts.prglngth)
other_hist = thinkstats2.Hist(others.prglngth)

然后在同一坐标轴上绘制这两个直方图。

width = 0.45
thinkplot.PrePlot(2)
thinkplot.Hist(first_hist, align='right', width=width)
thinkplot.Hist(other_hist, align='left', width=width)
thinkplot.Show(xlabel='weeks', ylabel='frequency')

thinkplot.PrePlot的参数是计划绘制的直方图数量,thinkplot使用这一信息选择适当的绘制颜色。

thinkplot.Hist通常使用align='center',从而使每个柱形以其值为中心进行显示。在这个图形中,我对两个直方图分别设置了align='right''align='left',使其柱形分别在值的两边显示。

通过设置width=0.45让两个直方图的柱形总宽度为0.9,每对柱形之间留有一些空隙。

最后,调整轴设置,只显示27~46周的数据。图2-5展示了绘制结果。

图像说明文字

图2-5 妊娠周数直方图

直方图清晰展示了最常出现的变量值,因此非常有用。但是,直方图并不是比较两个变量分布的最佳选择。在这个示例中,“第一胎”的数量比“其他胎”少,因此图中展示的一些明显差异是由样本规模导致的。在下一章中,我们将使用概率质量函数解决这个问题。

30:00