NumPyとは
科学技術計算やWebデータの分析などの大規模なデータを取り扱う場合、多次元かつ大量のベクトル(=配列)の演算が必要になります。
PythonはCやJavaなどのコンパイラ言語と比較するとかなり遅いため、そうった演算を行うと難儀するのですが、NumPyの配列オブジェクト「ndarray」を使用することで高速なデータ処理が可能となります。
また、科学技術計算の基礎ライブラリとしてさまざまな基本的な演算機能を提供しているため、Scipy、Matplotlib、Pandasなど多くのライブラリNumPyに依存しています。
このため、基礎部分のNumPyを理解することにより、前述のScipy、Matplotlib、Pandasなどの理解を深めることができると思います。
NumPyのインストールとインポート
pipでインストール可能です。anacondaは予めインストールされているためNumPyを使用する場合はこちらを使うと便利です。
pip install numpy
インポートする際はnpと名前を付けるのが一般的です。例えば、numpyをインポートし、3行3列の行列を生成する場合は以下のように記述します。(詳細は別途説明します。)
import numpy as np x = np.array([[11 , 12, 13], [21, 22, 23], [31, 32, 33]]) # array([[11, 12, 13], # [21, 22, 23], # [31, 32, 33]]) #
以降のサンプルコードではインポート文を省略することがあります。
用語について
NumPyで用意されている配列はndarrayというNumPy独自の型なのですが、今後このndarrayでベクトルや行列を表します。「NumPyの配列」だと少し長いので今後は単純に「array」もしくは「配列」と記述します。
また、実はNumPyには配列とは別に「matrix(行列)」という型があるのですが、あまり使われなくなりつつあるらしいため、当サイトでは線形代数と同様、単純に2次元の配列のことを行列と呼称します。