Python:大型数据集中分类值的卡方
Python: Chi Squared for categorical values in large dataset
我没有使用 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 表格并在表格上执行卡方检验感到困惑。
Diagnosis1=1 Diagnosis1=0
Event=1 100 12
Event=0 80 45
类似于 运行 在 SPSS 上使用交叉表来比较分类值是所需的结果。
使用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
我没有使用 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 表格并在表格上执行卡方检验感到困惑。
Diagnosis1=1 Diagnosis1=0
Event=1 100 12
Event=0 80 45
类似于 运行 在 SPSS 上使用交叉表来比较分类值是所需的结果。
使用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