2012-10-02 17 views
8

Mam problem. Chcę uruchomić f_oneway scipy.stats() ANOVA w skrypcie, który ładuje Data-archiwum zawierające grupy z NumPy tablic tak:Uruchamianie jednorazowego anova w skrypcie

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

Teraz moim problemem jest to, że liczba grup nie jest ustalona na inny archiwa danych. Innymi słowy, nie wiem z góry, ile grup istnieje w archiwum (a także niekoniecznie jakie są ich nazwy).

W scipy implementation of a oneway ANOVA akceptuje tylko rozdzielany przecinkami tablice wprowadzana tak:

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

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

próbowałem dać go wymienia, krotki, tablice wielowymiarowe wszystko bez powodzenia. Obecnie jedyny sposób, w jaki mogę korzystać z tej implementacji ANOVA, polega na ręcznym wprowadzaniu zmiennych grupy za każdym razem, co skutecznie uniemożliwia uruchamianie tego w skrypcie. Zastanawiam się, czy któryś z was ma pomysł, jak to rozwiązać, lub jak uniknąć tych bardzo specyficznych wymagań dotyczących formatu danych f_oneway().

Odpowiedz

15

Przypuszczam, należy spróbować:

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

Dzięki, to jest niesamowite. Wiem, rozumiem koncepcję * args – surchs