Pergunta

Eu tenho um problema.Quero executar a ANOVA scipy.stats f_oneway() em um script que carrega um arquivo de dados contendo grupos com matrizes numpy assim:

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

Agora, meu problema é que o número de grupos não é fixo para diferentes arquivos de dados.Em outras palavras, não sei de antemão quantos grupos existem em um arquivo (e também não necessariamente quais são seus nomes).

O implementação scipy de uma ANOVA unidirecional aceita apenas matrizes delimitadas por vírgula como entrada, assim:

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

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

Tentei fornecer listas, tuplas, arrays multidimensionais, tudo sem sucesso.Atualmente, a única maneira de usar essa implementação de ANOVA é inserindo manualmente as variáveis ​​do grupo a cada vez, o que efetivamente torna impossível executar isso em um script.Gostaria de saber se algum de vocês tem uma ideia de como resolver isso ou como evitar esses requisitos de formato de dados muito específicos de f_oneway().

Foi útil?

Solução

Suponho que você deveria tentar:

scipy.stats.f_oneway(*archive.values())
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top