Pythonで、配列や行列で複雑な処理を扱いたくなった時に、一から機能を実装していくのは大変です。
ここで、登場するのがNumpyです。
この記事では、Numpy配列について解説します。
Pythonライブラリ
Numpyは、Pythonの外部ライブラリです。
外部ライブラリって何?という方に向けて簡単に説明すると、Pythonで必要になる便利な処理をまとめてくれているパッケージのようなものです。
Numpyは、数値計算、行列や配列に関する便利な処理をまとめてくれている外部ライブラリです。
Pythonで外部ライブラリを使うためには、インポート(パッケージを取り込む)処理をしなければなりません。
一応コードで示すと、以下の通りです。
import numpy as np
外部ライブラリは、import (ライブラリ) という風にインポートします。
後ろのasは、Numpyにはnpっていうあだ名をつけますよ!っていう意味です。
Numpy配列の機能
Numpy配列の機能には、主に次の4つのような機能があります。
- 配列の作成
- 配列の演算
- 配列の要素へのアクセス
- ブロードキャスト
配列の作成
Numpyでは、arrayメソッドやasarrayメソッドを使うことによって指定した形状の配列を作ることが出来ます。
配列の演算
Numpy配列同士での演算を行うことが出来ます。
演算は、同じ形状の配列同士で行わないとエラーになります。
しかし、後述するブロードキャストによって、エラーにならない場合もあります。
要素へのアクセス
Numpyで生成した配列は、通常の配列と同様に[]の中に数値を指定することで要素にアクセスすることが出来ます。
また、複雑ですが[]の中にNumpy配列を指定することによって、要素にアクセスすることも可能です。
import numpy as np
a = np.array([1,2,3])
a_access = np.array([0,2])
print(a[a_access])
//[1 3]
ブロードキャスト
先述した通り配列の演算では、配列の形状を同じにしないといけないのですが、例外があります。
その例外とは、配列をある方向に引き延ばせば形状が一緒になるという時です。
例えば、配列[1,2,3]に10を掛けたらNumpyが10を[10,10,10]のように変換してくれるのです。
他にも例を挙げると、配列[[1,2,3],[4,5,6]]に[1,2,3]を掛けた場合には、[1,2,3]を[[1,2,3],[1,2,3]]のように縦に伸ばします。
まとめ
この記事では、Numpy配列について解説しました。
今回の内容をまとめると、
- NumpyはPythonで数値計算、配列と行列を扱うための便利なツール
- Numpyでは、配列の生成、配列同士での演算が可能
- ブロードキャストによって、配列同士の要素が違う場合でもNumpyが賢く
対応してくれる場合がある
のようになります。
この記事が、少しでも参考になれば嬉しいです。
参考になった本

コメント