在脚本中运行scipy单向anova

时间:2012-10-02 02:13:48

标签: python scipy anova

我有问题。我想在脚本中运行scipy.stats f_oneway()ANOVA,该脚本加载包含numpy数组的数据存档,如下所示:

archive{'group1': array([ 1, 2, 3, ..., ]),
        'group2': array([ 9, 8, 7, ..., ]),
        ...}

现在我的问题是不同数据档案的组数不固定。换句话说,我事先并不知道档案中有多少组(也不一定是他们的名字)。

scipy implementation of a oneway ANOVA只接受逗号分隔的数组作为输入,如下所示:

a = array([ 1, 2, 3, ..., ])
b = array([ 9, 8, 7, ..., ])
c = array([ 5, 6, 4, ..., ])

scipy.stats.f_oneway(a, b, c)

我试图给它列表,元组,多维数组都没有成功。所以目前,我可以使用这种ANOVA实现的唯一方法是每次手动输入组变量,这实际上使得无法在脚本中运行它。我想知道你是否有人知道如何解决这个问题或如何避免f_oneway()的这些非常具体的数据格式要求。

1 个答案:

答案 0 :(得分:15)

我想你应该尝试:

scipy.stats.f_oneway(*archive.values())