python - 在 scipy chisquare : Don't know why? 中获取 p 值的 nan

标签 python pandas scipy statistics chi-squared

非常感谢您对此问题的帮助。看起来应该很简单。

我在名为 Totals 的 pandas 数据框中有两列:Totals['Connections'] 和 Totals['Expected']。 Totals['Connections'] 包含观察到的相关变量的发生次数; Totals['Expected'] 包含预期的观察次数。我想使用 scipy chisquare 函数比较两者。我通过以下方式执行此操作:

sp.stats.chisquare([Totals.Connections], f_exp=[Totals.Expected]) 

但是,当我这样做时,我得到了一个有效的测试统计数据,但是我的 p 值是一个“nan”,如下所示(见下文)。另外,结果开头的“Power_divergence”文本是什么意思?谁能解释我在这里做错了什么?

Power_divergenceResult(statistic=array([  1.05408049e+03,   6.30832196e+02,   7.02987722e+01,
         9.17326057e+00,   1.56193724e+01,   3.36275580e+01,
         6.16076398e+02,   1.50373806e+02,   2.94802183e+01,
         2.65321965e+02,   1.00900409e+01,   3.06515689e+02,
         1.38828104e+02,   3.68894952e+02,   1.92873124e+02,
         5.67564802e+02,   2.36092769e+02,   1.77298772e+03,
         3.55388267e+03,   6.42013643e+02,   1.55858117e+02,
         1.22783083e+02,   1.36425648e-03,   2.47579809e+02,
         2.36092769e+02,   7.02987722e+01,   1.23124147e+01,
         6.10587995e+02,   2.75088677e+01,   2.76261937e+02,
         2.00121419e+02,   4.97702592e+02,   2.01167804e+02,
         1.26909959e+02,   2.60530696e+02,   6.66316508e+01,
         2.15019100e+02]), pvalue=array([ nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,
        nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,
        nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,  nan,
        nan,  nan,  nan,  nan]))

最佳答案

您的预期频率中可能有一些 0,这会打乱计算。

至于问题的第二部分:Power_divergenceResult是结果的预期类型,没有错。

关于python - 在 scipy chisquare : Don't know why? 中获取 p 值的 nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40380217/

相关文章:

python - 覆盖 django 管理事件日志

python - 为什么 scipy.optimize 中的 linear_sum_assignment 永远不会返回,如果其中一项分配的成本必须为无穷大?

python - 尝试使用 scipy 插入 2D 数据 - 只获取 NaN 数组

python - 按 multiIndex 之一的最高分位数过滤数据帧行

python - Matlab 中的稀疏矩阵向量乘法比 Python 更快吗?

python - PyQt 和 PySide 等成熟的软件包的术语是什么?

python - 如何将ndarray转换为数组?

python - 使用多个变量/输入查询数据框列

python - 比较 2 列并选择相同的名称

Python/Pandas For 循环时间序列