python の NumPy パッケージで、1次元/2次元配列を初期化する方法に加えて、配列のサイズや型を指定する方法も紹介します。
目次
- 配列を初期化する3つの関数
- 配列を0で初期化(0埋め): numpy.zeros
- 配列を1で初期化(1埋め): numpy.ones
- 配列を任意の値で初期化: numpy.full
- 2次元配列を初期化
NumPyのインストールとインポートの方法は下記の記事で紹介しております:
numpy: インストールとインポート - 数学やプログラミングの備忘録
配列を初期化する3つの関数
本記事では、配列の初期化の方法として3つの関数を紹介します。配列のサイズと型を指定することができます。
■ numpy.zeros(サイズ, 型): 指定したサイズ・型で、値=0で初期化
■ numpy.ones(サイズ, 型): 指定したサイズ・型で、値=1で初期化
■ numpy.full(サイズ, 値, 型): 指定したサイズ・型・値で、初期化
■ numpy.ones(サイズ, 型): 指定したサイズ・型で、値=1で初期化
■ numpy.full(サイズ, 値, 型): 指定したサイズ・型・値で、初期化
型は指定しなくてもokです。指定しなかった場合は、numpy.zeros
numpy.ones
は float64
で初期化され、numpy.full
は指定した値の型で初期化されます。
次に、それぞれの関数の使用例を見ていきます。
配列を0で初期化(0埋め): numpy.zeros
サイズ(要素数)=3の配列で初期化してみます。
>>> import numpy as np >>> a_float = np.zeros(3) >>> a_float array([0., 0., 0.]) >>> a_int = np.zeros(3, int) >>> a_int array([0, 0, 0])
型を指定しなければ、0.
となっていることが分かります。
配列を1で初期化(1埋め): numpy.ones
同様に、サイズ(要素数)=3の配列で初期化してみます。
>>> import numpy as np >>> a_int = np.ones(3, int) >>> a_int array([1, 1, 1])
配列を任意の値で初期化: numpy.full
サイズ(要素数)=3, 値=99 の配列で初期化してみます。
>>> import numpy as np >>> a_int = np.full(3, 99, int) >>> a_int array([99, 99, 99])
2次元配列を初期化
サイズを tuple
で指定することで、2次元配列として初期化することができます。2行3列の行列として、初期化してみます。
>>> import numpy as np >>> matrix_A = np.zeros((2,3)) >>> matrix_A array([[0., 0., 0.], [0., 0., 0.]])
2次元以上の多次元配列も扱うことができます。
>>> import numpy as np >>> matrix_A = np.zeros((2,3,4)) >>> matrix_A array([[[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]], [[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]])
さらに詳しい情報は公式ドキュメントをご確認ください: