Pythonの行列計算ライブラリNumPyでは配列を初期化する関数がたくさんあります。
その中から、この記事では配列の全要素を0で初期化するnp.zeros関数について紹介します。
また、配列を0で初期化するnp.zeros関数については、以下の記事で解説しています。
np.zerosの引数と返り値
numpy.
zeros
(shape, dtype=float, order=’C’)
shapeとdtype(要素の型)を指定して、0で埋められた配列を返します。
Parameters: |
|
---|---|
Returns: |
|
使い方
jupyter-labやjupyter-notebookを使って、以下のコードを試してみてください。
In [~]と書かれているセルがコード、Out[~]と書かれている部分が出力結果になります。
import numpy as np
基本的な配列の作り方
第一引数に新しく作りたい配列のshapeを指定すれば、簡単に配列が作成できます。
x = np.zeros(5)
x
配列の情報をまとめて見るために、以下の関数を作っておきましょう。
def array_info(x):
print("配列のshape", x.shape)
print("配列の要素のデータ型", x.dtype)
print("配列の中身\n",x)
このarray_info関数で先程作った配列を見てみると、要素が5つもつ配列ができていることがわかりますね。
また、前述の通り、dtypeを指定していない場合は、float64型になることがわかります。
array_info(x)
同じようにして、4×3の配列を作ります。
タプルで指定してあげるだけです。
x2 = np.zeros((4,3))
array_info(x2)
三次元配列も同様にタプルでshapeを指定して作ります。
x3 = np.zeros((4,3,2))
array_info(x3)
要素の型を指定して配列を作る方法
dtypeというパラメータに、numpy.float32などの型を指定することで、任意の型で0初期化できます。
x4 = np.zeros(3, dtype=np.int16)
array_info(x4)
真偽値(bool)でも可能です。この場合は0の代わりにFalseで埋められた配列ができます。
x5 = np.zeros(3, dtype=np.bool)
array_info(x5)