Numpy,scipy,matplotlib和pylab是使用python进行科学计算的常用术语。
我只是学习了一些关于pylab的内容,我感到很困惑。 每当我想导入numpy时,我总能做到:
import numpy as np
我只是考虑,一旦我做了
from pylab import *
也将导入numpy(使用np
别名)。所以基本上第二个与第一个相比做了更多的事情。
我想问几件事:
答案 0 :(得分:123)
不,pylab
是matplotlib
的一部分(在matplotlib.pylab
中),并试图为您提供类似MatLab的环境。 matplotlib
有许多依赖项,其中numpy
是在公共别名np
下导入的。{1}}。 scipy
不是matplotlib
的依赖关系。
如果您运行ipython --pylab
,则自动导入会将matplotlib.pylab
中的所有符号放入全局范围。就像你写的那样numpy
是在np
别名下导入的。 matplotlib
别名下的mpl
符号可用。
答案 1 :(得分:7)
Scipy and numpy 是科学项目,其目的是为python带来高效,快速的数值计算。
Matplotlib 是python绘图库的名称。
Pyplot 是matplotlib的交互式api,主要用于像jupyter这样的笔记本。您通常使用它:import matplotlib.pyplot as plt
。
Pylab 与pyplot相同,但具有额外功能(目前不鼓励使用它)。
在此处查看更多信息:Matplotlib, Pylab, Pyplot, etc: What's the difference between these and when to use each?
答案 2 :(得分:1)
由于某些人(如我)可能仍然对pylab的使用感到困惑,因为互联网上有使用pylab
的示例,因此这里引用了官方matplotlib常见问题解答:
pylab是一个便捷模块,可在单个名称空间中批量导入matplotlib.pyplot(用于绘图)和numpy(用于数学以及使用数组)。尽管许多示例都使用pylab,但不再推荐使用。
所以TL; DR;是不使用pylab,句点。使用pyplot
并根据需要分别导入numpy
。
Here is the link,以供进一步阅读和其他有用的示例。