NumPyは、Pythonで数値計算を高速に行うときに役立つライブラリです。
NumPyを使う場面では、データをベクトルや行列、多次元配列として扱うことが多くなります。
なので、NumPyを使うプログラミングでは、
ベクトルや行列をサクサク扱えることが重要になります。
そこで本記事では、
NumPyアレイを使いこなしていきたいあなたのために、
NumPyアレイの知っておくと役立つポイントをご紹介します。
【Python NumPy 独学】NumPy Array を使うときの知っておきたい基本ポイントを、サンプルコードとともに、サクッとまとめました【Python 入門】
NunPyには、アレイに対して
- 型
- 軸
- 形
- 大きさ
などの属性があります。
加えて、アレイの各要素に対しての
- 型
- バイトサイズ
の属性もあります。
データ分析や統計解析では、線形代数演算を行いますので、
データの形など、調べる方法を知っておくことが大事です。
そこでここからは定義した、すでに定義されているデータの中身の情報を調べる基本的な方法をまとめたいと思います。
- NumPyアレイの「型(type)」の調べ方
- NumPyアレイの「軸(axis)」の調べ方
- NumPyアレイの「形(shape)」の確認
- NumPyアレイの「大きさ(size)」の調べ方
- NumPyアレイの要素の「型(dtype)」の調べ方
- NumPyアレイの要素の「バイトサイズ(itemsize)」の調べ方
NumPyアレイの「型(type)」の調べ方
以上のように、NumPyには、ベクトルや行列データを格納できることがわかりました。
ここで1つ覚えておくポイントとして、
データの「型(type)」の知識があります。
データの型を調べる方法をやってみます。
上で定義した、NumPyアレイの型を調べています。
これらは「np,array( )」を使って定義しているので、
データ型は「numpy.ndarray」になります。
「ndarray」は、N次元配列(N-dimensional array)の略になります。
NumPyアレイの「軸(axis)」の調べ方
NumPyアレイは、多次元配列なので、
何次元か調べる方法があります。
『「変数名」+.(ドット)+ndim』
を使います。
- vector_arrayでは、1軸
- matrix_arrayでは、2軸
ということがわかります。
NumPyアレイの「形」の確認(shape)
数値計算などでは、ベクトルや行列の「データの形」が重要です。
データの形によって、できる演算やできない演算がありますので、次元を意識してプログラミングする必要があります。
なので、データの形を確認する方法が役立ちます。
それが「shape(シェイプ)」です。
In[8]: アレイを格納した変数の後ろに、
「.(ドット)」+shape
をかけばオッケーです。
変数名+「.(ドット)」+shape
の形で使います。
Out [8]: ( 3 , )
と出ています。
- かっこの左は行数、
- かっこの右は列数
を表しています。
なので、3行で0列の1次元データであることを表しています。(これはベクトルですね)
Out [9]: ( 2 , 3 )
と出ています。
2行3列のデータ(行列)ということがわかります。
NumPyアレイの「大きさ(size)」の調べ方
NumPyアレイの多次元配列のすべての要素数を調べることができます。
『「変数名」+.(ドット)+size』
を使います。
- vector_arrayでは、3個
- matrix_arrayでは、6個
のデータが全部であることがわかります。
NumPyアレイの要素の「型(type)」の調べ方
上の「type()」は、アレイ全体の型を調べています。
それに対して、アレイ内のそれぞれのデータ(全て同じ型)の型を調べることができます。
そのためには「変数名+(.ドット)+ dtype」が使えます。
上の例では、アレイ内の数値データは、
「int64 : 64bitの整数型」であることがわかります。
NumPyアレイの要素の「バイトサイズ(itemsize)」の調べ方
アレイ内のそれぞれのデータの大きさ(バイトサイズ)を調べることができます。
そのためには「変数名+(.ドット)+ itemsize」が使えます。
上の例では、アレイ内の数値データは、
「8バイト」であることがわかります。
NumPyで定義されたアレイデータは、どのデータも
- 同じ型
- 同じサイズ
になっています。
なので、私たちユーザーは、大規模なデータを扱うときなどに、
前もって必要となるメモリの総量を計算することができます。
- データの型
- 1つのデータの必要データ容量
- データの数
の情報から、以下のように、全体として必要なメモリ量を計算することができます。
(全体のメモリ量)=(1つのデータの必要メモリ量)×(データ数)
(1つのデータの必要メモリ量は、データの型で決まります)
上の例だと、
vector_arrayの場合
- 1つのデータの必要メモリは8バイト
(itemsize を使って求めました)
- データ数は3
(size を使って求めました)
なので、トータルのメモリは、
8×3=24バイト
と計算ができることになります。
というわけで、本記事では、
NumPyアレイを使いこなしていきたいあなたのために、
NumPyアレイの知っておくと役立つポイントをご紹介しました。
こちらもございます↓
「Numpy」については、こちらの書籍でも解説しています(無料)↓