Путаница между 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 является частью matplotlibmatplotlib.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 и т.д.: Какая разница между ними и когда их использовать?