Python - 附加到多个数组

时间:2016-10-25 05:25:03

标签: python arrays scipy append

如果我想通过scipy stats执行类似Levene的等方差测试,这会为字典中的所有数据生成两个输出(测试统计和p值),我将如何将每个测试的输出附加到两个不同的名单?我尝试了下面的代码:

test_stat[]
p_value[]
for i in range(0, n_data):
    for j in range(1, n_name):
        test_stat[i], p_value[i] = scipy.stats.levene(data[i][name[j-1]],
                                                      data[i][name[j]],
                                                      center='median')

但这显然不是解决问题的方法,因为我不断获得IndexError因为列表分配索引超出范围。

任何建议都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

并非一切都需要在一行......这应该可以正常工作:

test_stats = []
p_values = []
for i in range(0, n_data):
    for j in range(1, n_name):
        test_stat, p_value = scipy.stats.levene(data[i][name[j-1]], 
                                                data[i][name[j]], 
                                                center='median')
        test_stats.append(test_stat)
        p_values.append(p_value)

虽然这当然会添加n_data * n_name行。