数値演算ライブラリNumPyで配列を作るいろいろな方法をまとめてみた。
なお、NumPyを使用する時は、あらかじめpipコマンドでインストールしておき、
$ pip install numpy
プログラム中でインポートしなければならない。
import numpy as np
■一次元配列の作成
>>> x = np.array([1, 2, 3, 4, 5]) >>> array([1, 2, 3, 4, 5]) >>> y = np.array(range(1, 10))
■二次元配列の作成
>>> y = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
>>> y
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
■配列の形状変換
>>> x = np.array(range(1, 28)) # 要素数が多い時はrange()関数が便利
>>> x
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27])
>>> y = x.reshape(3, 3, 3) # 3×3×3の三次元配列に変換する
>>> y
array([[[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9]],
[[10, 11, 12],
[13, 14, 15],
[16, 17, 18]],
[[19, 20, 21],
[22, 23, 24],
[25, 26, 27]]])
デフォルト値を持った配列の作成
>>> x = np.zeros([2, 2]) # 2×2の大きさで要素がすべて0の配列を作る
>>> x
array([[ 0., 0.],
[ 0., 0.]])
>>> x = np.ones([2, 2]) # 2×2の大きさで要素がすべて1の配列を作る
>>> x
array([[ 1., 1.],
[ 1., 1.]])
■初期値を乱数(0以上1未満)で埋める
>>> x = np.random.random([2, 2])
>>> x
array([[ 0.06344547, 0.18282186],
[ 0.6673224 , 0.42957058]])
配列領域だけ確保する
>>> x = np.empty(3) # 要素数3の一次元配列を作る。要素は不定。
>>> x
array([ 6.93010130e-310, 1.78969549e-316, 1.58101007e-322])
>>> x = np.empty([3, 2]) # 3×2の二次元配列を作る。要素は不定。
>>> x
array([[ 1., 1.],
[ 1., 1.]])
■均等間隔の要素を持つ配列を作る
>>> np.arange(2, 8, 1.3) # 2から8まで1.3刻み(8は含まない) array([ 2. , 3.3, 4.6, 5.9, 7.2]) >>> np.linspace(2, 8, 6) # 2から8まで6この数値 array([ 2. , 3.2, 4.4, 5.6, 6.8, 8. ])