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]
コメント