Python SciPy模块错误消息

Python SciPy模块错误消息,python,scipy,Python,Scipy,我做错了什么?下面是代码,下面是我得到的错误: AttributeError:“模块”对象没有属性“chi2\u” fisher测试工作得很好,可以打印oddsration和p值,但chi2测试不行。在这里做了一些调查,并改变了我导入包/模块的方式,但运气不好。谢谢你的帮助。也许我错过了一些简单的东西。提前谢谢 import sys import numpy as np import scipy from scipy import stats oddsratio, pvalue = scipy

我做错了什么?下面是代码,下面是我得到的错误:

AttributeError:“模块”对象没有属性“chi2\u”

fisher测试工作得很好,可以打印oddsration和p值,但chi2测试不行。在这里做了一些调查,并改变了我导入包/模块的方式,但运气不好。谢谢你的帮助。也许我错过了一些简单的东西。提前谢谢

import sys
import numpy as np
import scipy
from scipy import stats

oddsratio, pvalue = scipy.stats.fisher_exact([[56, 891], [48, 12873]])

print oddsratio
print pvalue

obs = np.array([[56, 891], [48, 12873]])

print obs

g, p, dof, expctd = scipy.stats.chi2_contingency(obs, correction=True)

print p

虽然这看起来像是一个怪癖,但它是scipy布局的副作用,它是一个包含模块stats的包。尝试:


fisher_测试起作用的事实很奇怪。你在IPython笔记本上运行这个吗?那里可能有一些不明显的隐藏状态。为什么不统计。费舍尔精确。。。和统计数据。chi2_偶然事件。。。;毕竟,您首先要做的是从scipy导入统计数据,因此在以后的统计数据之前没有任何逻辑来预写scipy。您使用的是什么Python版本和什么scipy版本?使用Python 2.7.9和scipy 0.15.1对我来说很好。chi2_偶然事件添加到scipy的时间晚于fisher_精确。检查您正在使用的scipy版本。要检查scipy版本,请运行:导入scipy;打印scipy.uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。很抱歉问了这个新问题,但谢谢你的准确回答。
import scipy.stats

g, p, dof, e = scipy.stats.chi2_contingency([[56, 891], [48, 12873]], correction=True)
print p  # 1.4896896046343034e-79