web-dev-qa-db-ja.com

numpy、scipy、matplotlib、pylabの混乱

Numpy、scipy、matplotlib、およびpylabは、科学計算にpythonを使用する一般的な用語です。

私はpylabについて少し学びましたが、混乱しました。 numpyをインポートしたいときはいつでも、いつでもできます:

import numpy as np

私が考えているのは

from pylab import *

numpyもインポートされます(npエイリアスを使用)。したがって、基本的には2番目の方が最初の方に比べて多くのことを行います。

聞きたいことがいくつかあります。

  1. Pylabがnumpy、scipy、matplotlibの単なるラッパーであることは正しいですか?
  2. Npはpylabのnumpyエイリアスなので、pylabのscipyとmatplotlibエイリアスは何ですか? (私の知る限り、pltはmatplotlib.pyplotのエイリアスですが、matplotlib自体のエイリアスはわかりません)
129
goFrendiAsgard
  1. いいえ、pylabmatplotlibmatplotlib.pylab内)の一部であり、MatLabのような環境を提供しようとします。 matplotlibにはいくつかの依存関係があり、その中にはnumpyがあり、これは共通のエイリアスnpでインポートします。 scipymatplotlibの依存関係ではありません。

  2. ipython --pylabを実行すると、自動インポートによりmatplotlib.pylabのすべてのシンボルがグローバルスコープに配置されます。書いたように、numpynpエイリアスの下にインポートされます。 matplotlibのシンボルは、mplエイリアスの下で使用できます。

124

Scipyとnumpyは、効率的で高速な数値計算をPythonにもたらすことを目的とした科学プロジェクトです。

Matplotlibは、pythonプロットライブラリの名前です。

PyplotはmatplotlibのインタラクティブAPIであり、主にjupyterなどのノートブックで使用されます。通常、import matplotlib.pyplot as pltのように使用します。

Pylabはpyplotと同じものですが、追加の機能があります(現在使用は推奨されていません)。

  • おおよそ、pylab=pyplot + numpy

詳細はこちらを参照してください: Matplotlib、Pylab、Pyplotなど:これらとそれぞれを使用するタイミングの違いは何ですか?

9
Felipe Almeida