Pythonでnumpyのarray (配列)を作成する
numpyはPythonでベクトルや行列などの多次元配列の計算をするためのライブラリです。numpyを使用することで数値計算を効率的に行うことが出来ます。
ここでは、numpyのarray (配列)を作成する方法をいくつか説明します。
numpyを使用するには、numpyのインポートが必要です。
numpyのインポート
1 |
import numpy as np |
array (配列)の作成方法
1次元の場合
1 |
np.array([1,2,3,4]) |
1 |
array([1, 2, 3, 4]) |
1 2 |
list1 = [1,2,3,4] np.array(list1) |
1 |
array([1, 2, 3, 4]) |
2次元の場合
1 |
np.array(([1,2,3,4],[5,6,7,8])) |
1 2 |
array([[1, 2, 3, 4], [5, 6, 7, 8]]) |
1 2 3 4 |
list1 = [1,2,3,4] list2 = [5,6,7,8] lists = [list1,list2] np.array(lists) |
1 2 |
array([[1, 2, 3, 4], [5, 6, 7, 8]]) |
array (配列)を0初期化で作成する
array (配列)は初期値として予め決まった値を設定することも可能です。ALL 0で初期化する場合はzeros関数を使用します。
1次元の場合
1 |
np.zeros(3) |
1 |
array([ 0., 0., 0.]) |
2次元の場合
1 |
np.zeros((3,5)) |
1 2 3 |
array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]]) |
array (配列)を1初期化で作成する
ones関数を使用することでALL 1で初期化することも出来ます。
1次元の場合
1 |
np.ones(3) |
1 |
array([ 1., 1., 1.]) |
2次元の場合
1 |
np.ones((3,5)) |
1 2 3 |
array([[ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.]]) |
array (配列)を空データで初期化する
empty関数を使用すると空データで初期化することが出来ます。
サンプル例では0初期化がされていますが、空データと0初期化は異なります。0初期化は確実に0で初期化されますが、空データは0で初期化されているとは限りません。
1次元の場合
1 |
np.empty(3) |
1 |
array([ 0., 0., 0.]) |
2次元の場合
1 |
np.empty((3,5)) |
1 2 3 |
array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]]) |
単位行列でarray (配列)を作成する
eye関数を使用することで単位行列でarray (配列)を作成することが出来ます。
単位行列とはN×Mの2次元行列で指定した対角線上の要素が全て1となっており、その他は全て0となっている行列です。
1 |
np.eye(5) |
1 2 3 4 5 |
array([[ 1., 0., 0., 0., 0.], [ 0., 1., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 1., 0.], [ 0., 0., 0., 0., 1.]]) |
1 |
np.eye(3, 5) |
1 2 3 |
array([[ 1., 0., 0., 0., 0.], [ 0., 1., 0., 0., 0.], [ 0., 0., 1., 0., 0.]]) |