numpy.random --- 乱数生成

numpy.random サブモジュールは、一般的な確率分布からサンプルを抽出する Generator クラスを提供します。基盤となるアルゴリズムは順列合同生成器(PCG)です。詳細は https://www.pcg-random.org/ を参照してください。

Generator はステートフルなオブジェクトです。サンプリングメソッドを呼び出すたびに内部状態が進むため、連続した呼び出しでは互いに独立したサンプルが返されます。出力配列は常に dtype が numpy.float です。

クラス

class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)

新しい擬似乱数生成器を構築します。

パラメータ:

seed -- 生成器の状態を初期化するために使用するシードです。整数が指定された場合はそのまま使用されます。整数のタプルが指定された場合は、単一のインスタンスではなく、それぞれ独立にシードされた Generator オブジェクトのタプル(各要素に対して1つ)が返されます。None が指定された場合は、(ビルド時に設定されていれば)プラットフォーム既定のシードが使用されます。設定されていない場合は ValueError が送出されます。

例外:
  • TypeError -- seedNone、整数、整数のタプルのいずれでもない場合。

  • ValueError -- seedNone で、既定のシードが設定されていない場合。

normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

正規(ガウス)分布からサンプルを抽出します。

パラメータ:
  • loc -- 分布の平均(中心)です。

  • scale -- 分布の標準偏差(幅)です。非負でなければなりません。

  • size -- 出力の形状です。整数の場合はその長さの1次元配列が返されます。タプルの場合はその形状の配列が返されます。None(既定値)の場合は、単一の Python の float が返されます。

戻り値:

Python の float、または要求された形状の float 型 numpy.ndarray のいずれかです。

例外:
  • ValueError -- 要求された形状が ULAB_MAX_DIMS を超える場合。

  • TypeError -- sizeNone、整数、タプルのいずれでもない場合。

サンプルは Box-Muller 変換を用いて生成されます。

random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray

半開区間 [0.0, 1.0) 上の一様分布からサンプルを抽出します。

パラメータ:
  • size -- 出力の形状です。整数の場合はその長さの1次元配列が返されます。タプルの場合はその形状の配列が返されます。None(既定値)で、かつ outNone の場合は、単一の Python の float が返されます。

  • out -- サンプルを受け取るための、事前に確保された密な float 型 numpy.ndarray(省略可能)です。sizeout の両方が指定された場合、それらの形状は一致していなければなりません。

戻り値:

引数に応じて、Python の float、新しい numpy.ndarray、またはサンプルで埋められた out のいずれかです。

例外:
  • TypeError -- size がサポートされない型である場合、out が ndarray でない場合、または out の dtype が float でない場合。

  • ValueError -- 要求された形状が ULAB_MAX_DIMS を超える場合、sizeout.shape が一致しない場合、または out が連続していない場合。

uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray

半開区間 [low, high) 上の一様分布からサンプルを抽出します。

パラメータ:
  • low -- 分布の下限(この値を含む)です。

  • high -- 分布の上限(この値を含まない)です。

  • size -- 出力の形状です。タプルの場合はその形状の配列が返されます。None(既定値)の場合は、[0.0, 1.0) から抽出した単一の Python の float が返されます(スカラーの場合、low/high の境界は無視されます)。

戻り値:

Python の float、または要求された形状の float 型 numpy.ndarray のいずれかです。

例外:
  • ValueError -- 要求された形状が ULAB_MAX_DIMS を超える場合。

  • TypeError -- sizeNone でもタプルでもない場合。

既定の引数が同一であれば、uniform()random() と同じ系列を生成します。