2017-11-14 5 views
3

다른 옵션 (SPSS 및 R)이 매우 큰 데이터 세트 (1000 만 건)의 통계 분석에 사용하려고했지만, 승인 된 하드웨어에서 데이터 세트를 처리 할 수 ​​없습니다.Python : Chi 대형 데이터 세트의 범주 형 값을 제곱했습니다

이 데이터 세트에는 많은 범주 형 변수 (Diagnosis1, Diagnosis2 ... Diagnosis30) 및 이벤트 변수 (종속 변수)가 있습니다.
사례가 행으로 나열됩니다.

Diagnosis1  Diagnosis2   Diagnosis3 Event 
1    0     0   1 
0    1     0   0 
0    1     0   0 

같은 뭔가 .... 그래서

내가 데이터를로드하고이 그것을 검토 할 수 있습니다에 -

import pandas as pd 
    import numpy as np 
    NRD_Data = pd.read_csv('NRD_DL.csv') 
    NRD_Data.head() 

하지만 방법에 붙어 2x2 테이블을 만들고 테이블에 대해 Chi Square 테스트를 수행하십시오.

  Diagnosis1=1 Diagnosis1=0 
Event=1  100   12 
Event=0  80    45 

카테고리 값을 비교하기 위해 SPSS에서 크로스 탭을 실행하는 것과 비슷한 것이 바람직한 결과입니다.

답변

2

당신이 당신의 카이 스퀘어 테스트 할 수있는, 당신이 필요로하는 행렬을 얻을 수 pd.crosstab를 사용

l=['Diagnosis1', 'Diagnosis2', 'Diagnosis3'] 
d=[] 
for i in l: 
    d.append(pd.crosstab(df['Event'],df[i])) 
d[0] 
Out[569]: 
Diagnosis1 0 1 
Event   
0   2 0 
1   0 1 
관련 문제