代码之家  ›  专栏  ›  技术社区  ›  RROBINSON

Python:大数据集中分类值的卡方检验

  •  5
  • RROBINSON  · 技术社区  · 7 年前

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

    在该数据集中,有许多分类变量(诊断1、诊断2…诊断30)和一个事件变量(因变量)。
    案例列为行。

    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表并在表上执行卡方检验。

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

    理想的结果类似于在SPSS上运行交叉标签来比较分类值。

    1 回复  |  直到 7 年前
        1
  •  3
  •   BENY    7 年前

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