Python 熊猫列数据的卡方检验
我需要计算Python 熊猫列数据的卡方检验,python,pandas,scikit-learn,chi-squared,Python,Pandas,Scikit Learn,Chi Squared,我需要计算 CAT Label 0 A 0.0 1 A 0.0 2 B 1.0 4 A 0.0 6 B 0.0 ... ... ... 3566 C 0.0 3567 A 0.0 3568 B 0.0 3571 C 1.0 我一直在使用交叉表: data = pd.crosstab(df['CAT'],df['Label'], margins = False) 我得到以下信息: Label 0.0 1
CAT Label
0 A 0.0
1 A 0.0
2 B 1.0
4 A 0.0
6 B 0.0
... ... ...
3566 C 0.0
3567 A 0.0
3568 B 0.0
3571 C 1.0
我一直在使用交叉表:
data = pd.crosstab(df['CAT'],df['Label'], margins = False)
我得到以下信息:
Label 0.0 1.0
CAT
A 425 37
B 718 82
C 637 128
计算卡方,我得到以下结果:
contingency = pd.crosstab(df['CAT'], df['Label'])
stat, p, dof, expected = chi2_contingency(contingency)
alpha = 0.05
print('Significance=%.3f, p=%.3f' % (alpha, p))
if p <= alpha:
print('-> Variables are associated')
else:
print('-> Variables are not associated')
你认为这种方法正确吗?结果可靠吗?当我检查一个不同的变量时,我也得到一个p_值=0.000。我想知道,既然我有A、B和C,我是否不能在这种情况下应用卡方检验。您将小数位数限制为3。很可能你的p值要小得多,四舍五入到0.000。例如,尝试将p的格式更改为“.5g”,这样可能会显示甚至很小的p值。谢谢。所以在这种情况下使用卡方检验是正确的,不是吗?这取决于你的零假设是什么。仅根据p值做出决策可能很棘手。我发现这篇文章非常有用:
Significance=0.050, p=0.000
Variables are associated.