NumPyのランダム数
- 前のページ NumPy 配列のフィルタリング
- 次のページ NumPy ufuncs
ランダム数とは何ですか?
ランダムな数は、常に異なる数字を持つことを意味するものではありません。ランダムとは、論理的に予測できないことを意味します。
擬似ランダムと本質的なランダム
コンピュータはプログラムで動作し、プログラムは権威あるコマンドセットです。したがって、ランダム数を生成するためにはある種のアルゴリズムが必要です。
ランダム数を生成するプログラムが存在する場合、それを予測することができますので、それは本質的なランダム数ではありません。
生成アルゴリズムで生成されたランダム数は、擬似ランダム数と呼ばれます。
本当にランダムな数を生成できますか?
はい。私たちのコンピュータ上で本質的なランダム数を生成するには、外部の源からランダムデータを取得する必要があります。外部の源は、通常、キーボードのタップ、マウスの動き、ネットワークデータなどです。
セキュリティ(例えば、暗号化キー)に関連する場合や、ランダム性が基盤のアプリケーション(例えば、デジタルルーレット)の場合を除いて、私たちは本質的なランダム数は必要ありません。
このチュートリアルでは、擬似ランダム数を使用します。
ランダム数の生成
NumPyはrandomモジュールを提供してランダム数を処理します。
インスタンス
0から100までのランダムな整数を生成します:
from numpy import random x = random.randint(100) print(x)
ランダムな浮動小数点の生成
randomモジュールの rand()
メソッドは0から1までのランダムな浮動小数点数を返します。
インスタンス
0から100までのランダムな浮動小数点数を生成します:
from numpy import random x = random.rand() print(x)
ランダムな配列の生成
NumPyでは、上の例の2つの方法を使用してランダムな配列を作成できます。
整数
randint()
メソッドは受け入れます サイズ
パラメータ、その中で配列の形状を指定できます。
インスタンス
0から100までのランダムな整数を含む1次元配列を生成します:
from numpy import random x=random.randint(100, size=(5)) print(x)
インスタンス
3行の2次元配列を生成します。各行には0から100までのランダムな整数が含まれます:
from numpy import random x = random.randint(100, size=(3, 5)) print(x)
浮動小数点数
rand()
このメソッドは、配列の形状を指定することも許可されます。
インスタンス
5つのランダムな浮動小数点数を含む1次元配列を生成します:
from numpy import random x = random.rand(5) print(x)
インスタンス
3行の2次元配列を生成します。各行には5つのランダムな数が含まれます:
from numpy import random x = random.rand(3, 5) print(x)
配列からランダムな数を生成
choice()
このメソッドは、値の配列に基づいてランダムな値を生成することができます。
choice()
このメソッドは、配列をパラメータとして受け取り、その中の1つの値をランダムに返します。
インスタンス
配列の値のうち1つを返します:
from numpy import random x = random.choice([3, 5, 7, 9]) print(x)
choice()
このメソッドは、値の配列を返すことも許可されます。
1つを追加してください サイズ
パラメータは指定された配列の形状で指定されます。
インスタンス
配列のパラメータ(3、5、7、9)で構成される二次元配列を生成します:
from numpy import random x = random.choice([3, 5, 7, 9], size=(3, 5)) print(x)
- 前のページ NumPy 配列のフィルタリング
- 次のページ NumPy ufuncs