Python:Chi Squared用于大型数据集中的分类值

时间:2017-11-14 19:14:22

标签: python pandas chi-squared

我没有使用Python的经验,并且我正在尝试将其用于对非常大的数据集(1000万个案例)进行统计分析,因为其他选项(SPSS和R)无法处理授权硬件上的数据集

在此数据集中,有许多分类变量(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上运行交叉表以比较分类值的东西是期望的结果。

1 个答案:

答案 0 :(得分:3)

使用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