for循环和嵌套列表;样本中位数

时间:2018-09-16 06:06:12

标签: python numpy statistics

我正在学习python入门课程,所以我不太确定如何提出问题,但这就是我所拥有的:

samplesize_list = [[1, 5, 10], [2, 4, 7], [3, 4, 6]]
label_List = ['size16', 'size13', 'size13']
std_list = [50, 30, 60]
mean_list = [100, 80, 70]
repeat = 50

我想做的是遍历嵌套列表,以可视化每个样本量的样本中位数的样本分布,从而:

size16指的是[1, 5, 10],其中std_list为50,而mean_list为100则适用于该列表的每个元素。

我应该得到的是:size16size13size13的3张图分别显示了每个样本量中样本中位数的样本分布。

我做了什么:

repeat_median = np.empty(repeat, dtype = float)
for j in samplesize_list:
    for i in range(len(samplesize_list[i])):
        size = samplesize_list[j]
    for i in range(repeat): 
        sample_data = np.random.normal(mean_list[j], std_list[j], size)
        repeat_median[i] = np.median(sample_data)
    plt.subplot(len(samplesize_list), 1, j+1)
    sns.distplot(repeat_median, color = 'blue', label = label_list[j])
    plt.legend(loc = "upper right")
    plt.show()

我不确定我缺少什么或哪里出了问题。希望在此方面获得帮助!

注意:在samplesize_list中,[1, 5, 10]是指组成样本的每个年龄段的人数。

1 个答案:

答案 0 :(得分:0)

zip行中使用for j in samplesize_list:函数

for a, b, c, d in zip(sapmlesize_list, label_list, stđ_list, mean_list):