无法导入`scipy.stats`中的`multivariate_normal`

4 投票
3 回答
8468 浏览
提问于 2025-04-18 18:37

我正在尝试使用scipy生成多元分布的概率密度函数(pdf)的值。这是我脚本中的import语句:

from scipy.stats import multivariate_normal

但是它出现了一个ImportError错误:

ImportError: cannot import name multivariate_normal

其他部分都正常工作。

3 个回答

0

快速解决方法 [不推荐]

我先升级了numpy,然后再升级scipy。之后,我就能从scipy.stats中导入multivariate_normal了。

pip install numpy --upgrade --user

pip install scipy --upgrade --user

0

我在使用Ubuntu 14.04和Python 2.7的时候遇到了这个问题。我按照这里的步骤解决了它。问题的原因是,scipy的版本必须至少是0.14,才能让stats包正常工作。单单执行sudo pip install scipy --upgrade对我来说没有用。我需要先升级numpy,然后再尝试升级scipy,因为scipy是依赖于numpy的。同时,我们还需要更新构建依赖。以下是我解决这个问题时遵循的步骤:

步骤1)首先要确保所有scipy的依赖项都正确安装。

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

步骤2)确保scipy所依赖的numpy是最新的。

sudo pip install numpy --upgrade

步骤3)确保所有scipy的构建依赖都可用。

sudo apt-get build-dep python-scipy

步骤4)重新运行升级。

sudo pip install scipy --upgrade
5

如果你正在使用0.13.3版本,可以在命令行里输入 pip install scipy --upgrade 来升级。

撰写回答