-Numpy- 配列を生成する様々な関数

Numpy には配列を生成する関数がいくつか用意されています.
以下に,要素が全て0.0の配列,要素が全て1.0の配列,要素が全て乱数の配列を生成する関数を示します.

>>> print(np.zeros(10))
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
>>> print(np.ones(10))
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
>>> print(np.random.rand(10))
[0.21727975 0.42771631 0.66812334 0.64825017 0.78402577 0.68120294
 0.18310259 0.82508969 0.97585404 0.42458256]
>>> 
 
上記の関数のうち,zeros関数とones関数は引数にタプルを指定することができます.この場合には,生成する配列はタプルの形式の多次元配列になります.
>>> print(np.zeros*1
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
>>> 


また,開始する値と刻み幅は省略可能です.この場合,開始する値は0になり,刻み幅は1になります.以下の例では,0から9までの連続した値を要素に持つ配列を生成しています.

>>> print(np.arange(10))
[0 1 2 3 4 5 6 7 8 9]
>>> 
 
arange関数と似た関数に,linspace関数があります.arange関数との違いは,第3引数が刻み幅ではなく要素数である点です.linespace関数は,以下のように引数を設定します.
linspace(開始する値,終了する値,要素数
以下の例では,linspace関数を用いて,0から1までの要素数が11個の配列を生成しています.
>>> print(np.linspace(0, 1, 11))
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]
>>> 
 
linspace関数の第3引数は省略できますが,省略すると配列の要素数は50になります.以下は,0から1まで,等間隔に50個の要素を持つ配列を生成する例です.
>>> print(np.linspace(0, 1))
[0.         0.02040816 0.04081633 0.06122449 0.08163265 0.10204082
 0.12244898 0.14285714 0.16326531 0.18367347 0.20408163 0.2244898
 0.24489796 0.26530612 0.28571429 0.30612245 0.32653061 0.34693878
 0.36734694 0.3877551  0.40816327 0.42857143 0.44897959 0.46938776
 0.48979592 0.51020408 0.53061224 0.55102041 0.57142857 0.59183673
 0.6122449  0.63265306 0.65306122 0.67346939 0.69387755 0.71428571
 0.73469388 0.75510204 0.7755102  0.79591837 0.81632653 0.83673469
 0.85714286 0.87755102 0.89795918 0.91836735 0.93877551 0.95918367
 0.97959184 1.        ]
>>> 
 
このようなlinspace関数の機能は,グラフにおける横軸の値などを表現する際に用いられることがあります.

 

*1:2, 3)))

[[0. 0. 0.]
 [0. 0. 0.]]
>>> print(np.ones((2, 3)))
[[1. 1. 1.]
 [1. 1. 1.]]
>>> 


arange関数を用いると,連続した数値を要素に持つ配列を作ることが可能です.arange関数は,以下のように引数を設定します.

arange( 開始する値,終了する値,刻み幅)

以下の例では,arange関数を用いて,0から1の手前まで0.1刻みの配列を生成しています.

>>> print(np.arange(0, 1, 0.1