NumPyを使った配列・行列の作成について

連番

連番の配列を作成したい場合、arangeメソッドが使用できます。

一次元

整数の0から9までが入ったような連番の配列は以下で作成できます。

import numpy as np
from pprint import pprint

x = np.arange(10)
pprint(x)   # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

二次元

整数の0から5までが入ったような連番の2次元配列は、一次元配列をreshapeメソッドで2次元に変換して作成することができます。

import numpy as np
from pprint import pprint

x = np.arange(6).reshape((2, 3))
pprint(x)  # array([[0, 1, 2],
                    [3, 4, 5]))

ランダム

random.choiceメソッドを使って、ランダムな数値の配列を作成することができます。

np.random.choice(最大値 - 1, 配列のサイズ)

以下は、0から999までの整数の中から、ランダムに6個選択した配列を作成します。

import numpy as np
from pprint import pprint

x = np.random.choice(1000, 6)
pprint(x)  # array([797, 257, 832, 683, 868, 853])

重複する可能があります。以下では、8が重複しています。

import numpy as np
from pprint import pprint

x = np.random.choice(10, 6)
pprint(x)  # array([0, 8, 1, 8, 7, 5])

最小値の指定

最小値を指定したい場合は、最小値を加算することで対応できます。

np.random.choice(最大値 - 最小値 + 1, 個数) + 最小値

例 100 ~ 999 から10個の配列は以下のようになります。 999 = 100 + 900 - 1

x = np.random.chice(900, 10) + 100