在脚本中运行scipy的单因素方差分析

7

我有一个问题。我想在一个加载了数据存档的脚本中运行scipy.stats f_oneway() ANOVA,该数据存档包含像下面这样的numpy数组组:

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

现在我的问题是,对于不同的数据档案,群组数量并不固定。换句话说,我事先不知道存档中有多少组(也不一定知道它们的名称)。 scipy实现的单因素方差分析只接受逗号分隔的数组作为输入,如下所示:
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个回答

16

我想你应该尝试:

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

1
谢谢,这太棒了。我现在理解*args的概念了。 - surchs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接