今回は、Python NumPyでランダムサンプリングを行う4つの簡単な方法に焦点を当てます。
では、さっそく始めましょう
ランダムサンプリングとは、定義された種類のデータからランダムに値を選択し、それを提示することで、さらに利用することができます。
このトピックでは、以下の関数を見ていきます。
- NumPy random_sample()メソッド
- NumPy ranf()メソッド
- NumPy random_integers()メソッド
- NumPy randint()メソッド
1. NumPy random_sample() メソッドによるランダムサンプリング
random_sample()メソッドを使用すると、データのサンプリングを行い、ランダムなデータを簡単に選択することができます。
0.0 – 1.0]の間のランダムなサンプルしか選択されません。
サンプルは1つだけでなく、配列全体もランダムな値で作成できます。
以下の構文を見てください。
random.random_sample() |
例えば、以下の様になります。
下の例では,まずランダムサンプリングを行い,1つの乱数値を生成しています.さらに、random_sample()関数にパラメータとしてsizeを渡して、乱数値を含む2次元配列を作成しました。
乱数値の範囲は0.0から1.0だけであることに注意してください。
また、random_sample()関数はfloat型の乱数値を生成します。
import numpy as np
ran_val = np.random.random_sample()
print ( "Random value : " , ran_val)
ran_arr = np.random.random_sample(size = ( 2 , 4 ))
print ( "Array filled with random float values: " , ran_arr)
|
結果は以下の通りです。
Random value : 0.3733413809567606
Array filled with random float values: [[ 0.45421908 0.34993556 0.79641287 0.56985183 ]
[ 0.88683577 0.91995939 0.16168328 0.35923753 ]]
|
この記事もチェック:PythonのNumPyでの配列の作成やスライス、変更について解説する
2. random_integers()関数
random_integers() 関数を使用すると、ランダムな値や、整数型のランダムな値の多次元配列を生成することができます。
つまり、Integer型のランダムな値を生成します。
さらに、乱数が選択される整数値の範囲を自由に選択することができます。
構文は以下の様な感じです。
random_integers(low, high, size) |
- low: 選択される乱数値の最小値/限界値。乱数値はこの低い値以下にはならない。
- 高。高:選択される乱数値の最高値/限界値。high: 選択される乱数値の最高値。乱数値はこの値を超える値を持たない。
- サイズ。size: 配列を構成する行と列の数。
例えば、以下の様になります。
例:この例では、5-10 の間の値のみを持つ 1 次元のランダム値配列を作成しました。
さらに、同じコンセプトで多次元配列も作成しました。
import numpy as np
ran_val = np.random.random_integers(low = 5 , high = 10 , size = 3 )
print ( "Random value : " , ran_val)
ran_arr = np.random.random_integers(low = 5 , high = 10 , size = ( 2 , 4 ))
print ( "Array filled with random float values: " , ran_arr)
|
結果は以下の通りです。
Random value : [ 10 5 9 ]
Array filled with random float values: [[ 8 8 9 6 ]
[ 6 10 8 10 ]]
|
この記事もチェック:Pythonのmin関数を使ってリストや配列の最小値を求める方法
3. 3. randint() 関数
randint() 関数は、random_integers() 関数と同じような動作をします。
指定された整数の範囲内でランダムな値を持つ配列を作成します。
例えば、以下の様になります。
import numpy as np
ran_val = np.random.randint(low = 5 , high = 10 , size = 3 )
print ( "Random value : " , ran_val)
|
結果は以下の通りです。
Random value : [ 5 8 9 ]
|
4. ranf()関数
繰り返しになりますが、ranf()関数は、機能的にはrandom_sample()メソッドに似ています。
0.0から1.0までのfloat型の乱数のみを生成します。
例えば、以下の様になります。
import numpy as np
ran_val = np.random.ranf()
print ( "Random value : " , ran_val)
|
結果は以下の通りです。
Random value : 0.8328458165202546
|
まとめ
何か質問があれば、お気軽にコメントください。
Pythonプログラミングに関連するこのような記事のために、私たちと一緒にご期待ください。