【发布时间】:2023-03-31 17:57:01
【问题描述】:
将scipy 导入 Python 时出现错误。当我写的时候:
import scipy as sp
x2 = lambda x: x**2
print sp.integrate.quad(x2, 0, 4)
我得到错误:
sp.integrate.quad: "NameError: name 'integrate' is not defined".
为什么会出现这个错误?
【问题讨论】:
将scipy 导入 Python 时出现错误。当我写的时候:
import scipy as sp
x2 = lambda x: x**2
print sp.integrate.quad(x2, 0, 4)
我得到错误:
sp.integrate.quad: "NameError: name 'integrate' is not defined".
为什么会出现这个错误?
【问题讨论】:
导入scipy 不会自动加载integrate 子包。使用:
from scipy.integrate import quad
或
import scipy.integrate as spi
并使用spi.quad
来自文档(或者,更确切地说,是 SciPy 的 __init__.py 文件):
... Subpackages ----------- Using any of these subpackages requires an explicit import. For example, ``import scipy.cluster``. :: cluster --- Vector Quantization / Kmeans fftpack --- Discrete Fourier Transform algorithms ... integrate --- Integration routines [*] ...
【讨论】: