スポンサーリンク

[numpy] 一様乱数と正規分布の乱数生成関数(Python)

乱数生成関数まとめ

関数機能
np.random.random0以上、1未満の一様乱数の作成する
np.random.rand0以上、1未満の一様乱数の作成する
np.random.randint任意の範囲の一様乱数の整数を作成する
np.random.uniform任意の範囲の一様乱数の小数を作成する
np.random.randn標準正規分布の乱数を作成する
np.random.normal任意の平均値、標準偏差を指定して、正規分布の乱数を作成する

np.random.random関数

乱数の値

0以上、1未満の一様乱数の作成する関数

ソースコード

IN

import numpy as np
np.random.random()

OUT

0.9424676958414365

解説

1次元で乱数を複数作る場合は、「np.random.random(3)」のように、引数を指定すると1次元配列、要素数3つ分乱数を作ります。

2次元で乱数を複数作る場合は、「np.random.random((2, 3))」のように、引数を指定すると、2行3列の2次元配列を作ります。

np.random.rand関数

乱数の値

0以上、1未満の一様乱数の作成する関数

ソースコード

IN

import numpy as np
np.random.rand(2, 3)

OUT

array([[0.5688212 , 0.45438471, 0.98756856],
       [0.79529063, 0.63451823, 0.22153255]])

解説

基本的にrandom関数と同じ動きですが、
2次元配列で生成する場合は、タプルではなく、引数に数値を2つ渡す仕様となっています。

np.random.randint関数

乱数の値

任意の範囲の一様乱数の整数を作成する関数

ソースコード

IN

import numpy as np
np.random.randint(1, 10, size=(2, 3))

OUT

array([[6, 1, 4],
       [3, 8, 5]])

解説

1から10未満の整数の乱数値を2行3列の2次元配列で取得しています。

np.random.uniform関数

乱数の値

任意の範囲の一様乱数の小数を作成する関数

ソースコード

IN

import numpy as np
np.random.uniform(1, 10, size=(2, 3))

OUT

array([[6.12434755, 7.64978607, 1.47246454],
       [2.13296479, 3.88165273, 5.83707714]])

np.random.randn関数

乱数の値

標準正規分布の乱数を作成する関数。
標準正規分布は、平均0, 分散1の正規分布のことです。

ソースコード

IN

import numpy as np
np.random.randn(2, 3)

OUT

array([[-0.12466434,  0.6652742 , -0.77471508],
       [ 1.03110638,  0.57573394,  0.11046776]])

np.random.normal関数

乱数の値

任意の平均値、標準偏差を指定して、正規分布の乱数を作成する関数。

ソースコード

IN

import numpy as np
np.random.normal(10, 1, size=(2, 3))

OUT

array([[11.37856501,  8.71850845, 11.04108751],
       [ 9.3810872 ,  7.70904573, 11.87390265]])

解説

np.random.normalの第1引数、第2引数には、平均10, 分散1といった形で設定しています。
そうするとその値で正規分布の乱数を作成します。