2017/05/16
0:00

Pythonユーザー必須ライブラリ"Numpy"について

数値計算(ブロードキャスティング画像)

みなさんこんにちは。
人工知能ラボの助手です。

今日は、Pythonを扱う上でよく用いられる
ライブラリであるNumpyについてお話します。



前回、博士がPython2.Xと3.Xの違いについてお話しました。

そこでまず気になるのが、
Numpyはpythonのどちらのバージョンに
対応しているのかということです。


答えは
Numpyはどちらのバージョンにも対応してるので問題ありません。


では次に、Numpyがどんな時に使われるかです。
どんな時かというと数値計算を行うときです。

ですが、Numpyが入っていなくても
Pythonで数値計算を行うことは可能です。



ではなぜ、Numpyを使うのかです。



先ほども述べたとおり、
Pythonのみでも数値計算を行うことはできます。

しかし、Numpyを入れることにより、
非常に高速で演算ができるからです。


なぜか?
Numpyの内部は、C言語やFortranによって実装されてるためです。


さらに柔軟に要素の参照や、データの一括処理が可能です。
また、数値・論理演算,線形代数,初等関数,集約演算,乱数生成など
フーリエ変換や関数あてはめなどのやや高度な演算も可能です。



ではこのうちのいくつかを勉強しましょう。

まずは、データの一括処理についてです。
データの一括処理にはユニバーサル関数、ブロードキャスティング
と呼ばれるものがあります。


  • ユニバーサル関数
N次元配列の要素ごとになにかを計算して
新しいN次元配列にして返す関数をユニバーサル関数という。



  • ブロードキャスティング
サイズ/形状の異なる配列同士の演算も可能です。
つまりN次元配列とM次元配列の四則演算が可能です。
これは上手く使いこなせば、
コード量を大きく減らすことができます。



その他にも
配列データのファイル入出力もできます。
巨大なデータを保存するときは、バイナリ形式で保存した方が
ファイルサイズが小さくなります。


今日のところは、ここまでにします。
お疲れ様です。

次回は、Numpyを実際に使ってみたいと思います。