[Python]Numpy配列について

python

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が賢く
    対応してくれる場合がある

のようになります。

この記事が、少しでも参考になれば嬉しいです。

スポンサーリンク

参考になった本

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | 斎藤 康毅 |本 | 通販 | Amazon
Amazonで斎藤 康毅のゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装。アマゾンならポイント還元本が多数。斎藤 康毅作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装もアマゾン配送商品...
はじめてのディープラーニング2 Pythonで実装する再帰型ニューラルネットワーク,VAE,GAN | 我妻 幸長 | コンピュータ・IT | Kindleストア | Amazon
Amazonで我妻 幸長のはじめてのディープラーニング2 Pythonで実装する再帰型ニューラルネットワーク,VAE,GAN。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

コメント

タイトルとURLをコピーしました