如何解决来自 pandas 列的数据的卡方
我需要计算
的卡方 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')
结果是
Significance=0.050,p=0.000
Variables are associated.
您认为该方法正确且结果可靠吗?当我检查不同的变量时,我也得到了 p_value=0.000。我想知道,既然我有 A、B 和 C,我是否不能在这种情况下应用卡方。
解决方法
您将小数位数限制为 3。您的 p 值可能要小得多,并且四舍五入为 0.000。例如,尝试将 p 的格式更改为“.5g”,这样可能会显示甚至很小的 p 值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。