卡方检验用于多个类别变量

时间:2018-06-21 07:16:09

标签: python correlation

我有一个由500行和105列组成的数据框,我希望使用卡方检验对所有变量进行关联。

df = pd.read_csv('segment.csv')
pd.crosstab(**df.melt(var_name='columns', value_name='index'))

enter image description here

我为一个变量和一个变量编写了一个脚本,如下所示:

import pandas
from scipy.stats import chi2_contingency

def chisq_of_df_cols(df, c1, c2):
    groupsizes = df.groupby([c1, c2]).size()
    ctsum = groupsizes.unstack(c1)
    return(chi2_contingency(ctsum.fillna(0)))

chisq_of_df_cols(df, 'aa_19-24', 'aa_25-34')
  

Out[1]:

     

(0.6698331506515647, 0.41310978435048606, 1, array([[4.7817e+02, 1.6830e+01],[4.8300e+00, 1.7000e-01]]))

用(1-n)个变量而不是多次调用函数chisq_of_df_cols来对每个变量进行卡方检验的最佳方法是什么。

0 个答案:

没有答案
相关问题