Путаница между numpy, scipy, matplotlib и pylab
Numpy, scipy, matplotlib и pylab являются общими понятиями среди тех, кто использует python для научных вычислений.
Я только немного узнаю о pylab, и я смутился.
Всякий раз, когда я хочу импортировать numpy, я всегда могу:
import numpy as np
Я просто считаю, что однажды я делаю
from pylab import *
также будет импортирован numpy (с псевдонимом np
). Таким образом, в основном второй делает больше вещей по сравнению с первым.
Есть несколько вещей, которые я хочу задать:
- Правильно ли, что pylab - это только оболочка для numpy, scipy и matplotlib?
- Поскольку np является псевдонимом numpy в pylab, что такое псевдоним scipy и matplotlib в pylab? (насколько я знаю, plt является псевдонимом matplotlib.pyplot, но я не знаю псевдонима для самого matplotlib)
Ответы
Ответ 1
-
Нет, pylab
является частью matplotlib
(в matplotlib.pylab
) и пытается дать вам среду, подобную MatLab. matplotlib
имеет ряд зависимостей, среди которых numpy
, который он импортирует под общим псевдонимом np
. scipy
не является зависимостью от matplotlib
.
-
Если вы запустите ipython --pylab
, автоматический импорт поместит все символы из matplotlib.pylab
в глобальную область. Как вы написали numpy
, импортируется под псевдонимом np
. Символы из matplotlib
доступны под псевдонимом mpl
.
Ответ 2
Scipy и numpy - это научные проекты, целью которых является создание эффективных и быстрых числовых вычислений для python.
Matplotlib - это имя библиотеки прорисовки python.
Pyplot является интерактивным для matplotlib, в основном для использования в ноутбуках, таких как jupyter. Вы обычно используете его так: import matplotlib.pyplot as plt
.
Pylab - это то же самое, что и pyplot, но с дополнительными функциями (его использование в настоящее время обескуражено).
- Пример: pylab= pyplot + numpy
Подробнее здесь: Matplotlib, Pylab, Pyplot и т.д.: Какая разница между ними и когда их использовать?