2012-10-02 3 views
8

문제가 있습니다.스크립트에서 scipy의 oneway anova 실행

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

이제 내 문제는 그룹의 수는 다른 고정되지 않은 것을 : 그래서 같은 NumPy와 배열을 가진 그룹을 포함하는 데이터 아카이브를로드하는 스크립트) ANOVA를 scipy.stats의 f_oneway을 (실행하려면 데이터 아카이브. 즉, 아카이브에 그룹이 얼마나 있는지 (그리고 이름이 정확히 무엇인지는 알 수 없음) 미리 알지 못합니다. 그래서 같은 입력으로

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()의 이러한 매우 구체적인 데이터 형식 요구 사항을 피하는 방법이 있는지 궁금합니다.

답변

15

은 당신이 시도해야한다고 가정

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

덕분에,이 굉장합니다. 나는 args 개념을 이해한다. – surchs