【Python NumPy 独学】ベクトル・行列の生成・初期化方法(1):ゼロ行列 zeros、zeros_likeについて、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

numpy

NumPy は、Python で線形代数演算の高速化を可能にするライブラリです。

NumPyは、行列の扱いを便利に行えるので、

応用面として、統計解析や人工知能など、

すぐにでも活用したい方も多いかと思います。

 

NumPyを身につけるのにオススメの勉強法の1つに、サンプルコードを写経して学ぶ方法があります。

サンプルコードを使い、

行列の操作を順を追って確認していくのはとても勉強になります。

この際に、まずは行列のデータを用意する必要があります。

用意した行列について、様々な操作を実行して、動作を確認していくわけです。

こういう時には、動作確認をしやすい行列が適しています。

そういった例には、以下のような行列があります。

  • 要素がすべてゼロの行列
  • 要素がすべてイチの行列
  • 対角要素だけ1で他が0の単位行列

これらの行列をサクッと生成できると、NumPyの勉強がはかどります。

また、

  • 行列をより高速に生成する方法

があると高速計算に便利ですよね。

 

 

そこで本記事では、

ベクトルや行列の生成・初期化のやり方の1つ、

  • 要素すべてゼロの配列を作る方法

をわかりやすく、サクッとまとめたいと思います。

 

 

【Python NumPy 独学】ベクトル・行列の生成・初期化方法(1):ゼロ行列 zeros、zeros_likeについて、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

(1), 「ゼロ行列」の生成方法:zeros

「ゼロ行列」とは、すべての要素が0の行列です。

ゼロ行列は、zeros( ) メソッドで生成できます。

かっこの中に、ゼロの数を入れて実行します。

5個の0を持つベクトルを生成するには、

以下のようにします。

1次元配列(ベクトル)の生成

デフォルトでは、ゼロは浮動小数点数型で出力されています。

もし、整数型のゼロを使いたければ、以下のように「dtype」 を使います。

dtype = int」とすることで、整数型のゼロを出力させることができます。

(ちなみに dtype は、data type データ型 の意味になります)

 

 

2次元以上の配列(行列)の生成

2次元や3次元のゼロ行列も、以下のように、

生成することができます。

2次元なら、zeros( ) メソッドの中に、

2つの次元の要素数をタプルで書けばオッケーです。

3次元なら、3つの次元の要素数をタプルで書いて生成します。

ちなみに、多次元のアレイが何次元が知りたい時には、

変数名を打ち込んでみて、表示された内容の

アレイのすぐ横の「【 」を数えればオッケーです。

上の3次元の例では、「array( 【【【 」と、

3つの「【」が並んでいます。なので3次元です。

4次元、5次元・・・などの場合も同様に調べることができます。

 

 

(2), 「ゼロ行列」の生成方法:zeros_like

上の例では、ゼロが何個かを指定する必要がありました。

そうではなく、

  • 要素数を指定せずにゼロ行列を生成する

方法「zeros_like」メソッドがあります。

既存のベクトル・行列と形のゼロ行列を作りたい時に使えます。

In [2] では、1〜5の要素を持つ配列 array1 を定義しています。

In [4] の

np. zeros_like (array 1)

のように、zeros_likeメソッドに array1 を渡すことで、

  • array1 と同じ形の配列を生成する

ことができます。

同様に、2次元でも

np.zeros_like ( 2次元配列 )

のように、2次元の行列を渡すことで、2次元のゼロ行列を生成することができます。

3次元以上の多次元で同様に作成することができます。

このように、zeros_like( ) メソッドを使うことで、

  • 要素数を指定せずにゼロ行列を生成する

ことができます。

また、zeros_like () メソッドでも、

zeros( ) メソッドと同じように、

データ型を指定したい時には、dtype を使うこともできます。

 

 

np.zeros( ), np.zeros_like( ) の活用事例とは?

随時追加していきます。よかったらフォローなどしておくと見逃さないかと思います。

 

 

というわけで、本記事では、

  • 要素すべてゼロの配列を作る方法

をサクッとまとめました。

 

こちらの記事もございます↓

続く第2弾では、イチ行列の生成方法について解説しています↓

【Python NumPy】ベクトル・行列の生成・初期化方法(2):すべて要素1の行列 ones、ones_likeについて、サンプルコードともに、サクッと、わかりやすく、まとめました【Python 入門】

 

さらに第3弾では、単位行列の生成方法について解説しました↓

【Python NumPy】ベクトル・行列の生成・初期化方法(3):単位行列の生成( identity、eye)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

第4弾では、より高速に行列を生成する方法を解説しています↓

【Python NumPy】ベクトル・行列の生成・初期化方法(4):高速な配列の生成方法(empty)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

 

 

 

こちらもございます↓

 

 

「Numpy」については、こちらの書籍でも解説しています(無料)↓