我没有使用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上运行交叉表以比较分类值的东西是期望的结果。
答案 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