2016-11-25 2 views
0

모든 행에 stats.ttest_1samp을 적용하려면 다음팬더 : 나는이처럼 보이는 dataframe의 ZDF가

Index  A B C Mean 
2008-11-21 23 12 16 18 
2008-11-24 26 14 15 17 
2008-11-25 28 20 21 25 
2008-11-26 25 26 27 26 

내가 각 행에 양면 t-test를 적용하려고 노력하고 결과를 저장하고있다가 새 열에. stats.ttest_1samp

from scipy.stats import stats 

사용은 첫번째 파라미터를리스트 (마지막을 제외한 각각의 행에 대한 모든 값)과, 제 파라미터의 평균 (ZDF의 마지막 열)에 걸린다. 두 개의 값을 반환합니다 : t- 통계량과 p- 값. 나는 다음과 같은 노력하고 있어요 :

for i in range(zdf.shape[0]+1): 
    zdf.ix[i,'ttest'] = stats.ttest_1samp(list(zdf.iloc[i,:-1]),zdf.iloc[i,-1]) 

내가 어떤 이유로 값 오류가 계속를, 그러나 확실하게 루프에 대한없이 적용 할 수있는 더 좋은 방법이있다?

미리 감사드립니다.

+1

당신은 우리에게 에러를 표시 할 수 있습니까? –

답변

1

당신은 그래서 당신은 하나의 배열을 전달해야 .ix[]과 순서로 배열 요소를 설정할 수 없습니다 등이 있습니다 또한

for i in range(zdf.shape[0]+1): 
    zdf.ix[i,'ttest_res1'] = stats.ttest_1samp(zdf.iloc[i,:-1].values,zdf.iloc[i,-1])[1] 
    zdf.ix[i,'ttest_res2'] = stats.ttest_1samp(zdf.iloc[i,:-1].values,zdf.iloc[i,-1])[2] 

, 내가 첫 번째 인수에 목록 대신 배열을 전달하는 것 .values

관련 문제