5.30. mnewrand 乱数データの新規生成¶
0.0から1.0の範囲の実数乱数を生成する。
int
オプションを指定することで、整数乱数を生成することもできる。
乱数の生成にはメルセンヌ・ツイスター法を利用している
(href{http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html}{原作者のページ}
, href{http://www.boost.org/doc/libs/1_54_0/doc/html/boost_random.html}{boostライブラリ})。
パラメータ¶
o= : 型=str , 任意(default=標準出力)
出力データを指定する。
a= : 型=str , 必須
新規に作成するデータの項目名を指定する。nfn
もしくはnfno
オプション指定時は指定の必要はない。
max= : 型=str , 任意(default=INT_MAX)
乱数の最大値を指定する。このパラメータを指定するときはint
オプションも指定しなければならない。
min= : 型=str , 任意(default=0)
乱数の最小値を指定する。このパラメータを指定するときはint
オプションも指定しなければならない。
S= : 型=str , 任意(default=現在時刻)
乱数の種を指定する。
l= : 型=str , 任意(default=10)
行数新規作成する乱数データの行数を指定する。
int= : 型=bool , 任意(default=False)
整数乱数を生成する
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm
基本例
実数乱数を10行生成する。乱数の種は1に固定しているので、いつ実行しても乱数系列は同じになる。
1nm.mnewrand(a="rand", S="1", o="rsl1.csv").run() 2### rsl1.csv の内容 3# rand 4# 0.4170219984 5# 0.9971848081 6# 0.7203244893 7# 0.9325573612 8# 0.0001143810805 9# 0.1281244478 10# 0.3023325677 11# 0.9990405154 12# 0.1467558926 13# 0.2360889763
整数乱数
最小値が0、最大値が1000、乱数の種が1の整数乱数を5行作成する。
1nm.mnewrand(a="rand", int=True, max="1000", min="0", l="5", S="1", o="rsl2.csv").run() 2### rsl2.csv の内容 3# rand 4# 417 5# 998 6# 721 7# 933 8# 0
ヘッダ行なしで出力
nfn=True
でヘッダーなしのデータが生成される。
1nm.mnewrand(nfn=True, l="5", S="1", o="rsl3.csv").run() 2### rsl3.csv の内容 3# 0.4170219984 4# 0.9971848081 5# 0.7203244893 6# 0.9325573612 7# 0.0001143810805
関連メソッド¶
mnewnumber 連番データの新規生成 : 連番を生成する。
mnewstr 固定文字列データの新規生成 : 固定文字列を生成する。