スポンサーリンク

Numpyでランダム(乱数)な整数を生成するnumpy.random.randint【Python】

Numpy

Numpyでランダムな整数を生成するにはnumpy.random.randintを用いる。

numpy.random.randint

第一引数lowと第二引数highで、生成する乱数の範囲(low~high)を指定する。第三引数のsizeに出力配列の形を指定する。

出力は、一様分布から、ndarray型、int64で生成される。

import numpy as np

value = np.random.randint(low=3, high=5, size=(3,))

print(value)
# [3 3 4]
print(type(value))
# <class 'numpy.ndarray'>
print(value.dtype)
# int64

出力を二次元の配列にしたい場合は、第三引数のsizeをタプルで指定する。

print(np.random.randint(low=3, high=5, size=(3,2)))
# [[4 4]
# [3 3]
# [3 3]]

第二引数highは、オプションのため指定しなくても良い。ただし、その場合は0~lowの値がランダムに出力されるので注意する。

value = np.random.randint(low=3, size=(3,))
print(value)
# [0 2 0]

第一引数lowをリスト、第二引数highをスカラーで指定した場合は、異なる下限をもつ配列を生成する。
第一引数lowをスカラー、第二引数highをリストで指定した場合は、異なる上限をもつ配列を生成する。

print(np.random.randint(low=[1, 5, 7], high=10))
# [4 6 9]

print(np.random.randint(low=1, high=[3, 5, 10]))
# [1 3 1]

関連記事、参考記事

コメント