その中では,20回サイコロを振ることを想定して,整数の乱数を発生させるために,Pythonで以下のように書きました.
>>> import numpy as np
>>> np.random.choice(np.arange(1, 7), 20)
array([4, 2, 5, 1, 6, 5, 5, 3, 1, 5, 4, 4, 3, 4, 1, 5, 2, 1, 2, 2])
これをJuliaで行う場合には,以下のように書けば良いようです.
julia> rand(1:6, 20) # rand(start:stop, times)
20-element Array{Int64,1}:
4
3
5
5
2
3
2
2
5
3
3
1
4
4
6
5
4
4
2
5
上記のREPLの例にもコメントしてありますが,関数rand()の使い方は以下のようになります.rand(start:stop, times)
上記の例は復元抽出なので,非復元抽出を行う場合はPythonで以下のように書きました.
>>> np.random.choice(np.arange(1, 7), 6, replace = False)
array([5, 3, 4, 6, 1, 2])
これをJuliaで行う場合には,StatsBaseパッケージを用いて,以下のように書けば良いようです.
julia> using StatsBase
julia> sample(1:6, 6, replace=false)
6-element Array{Int64,1}:
6
4
1
3
2
5
関数sample()の使い方は以下のようになります.
sample(start:stop, times, replace = "true" or "false")
なので,最初のコードと同じことを実行するためには,以下のように書いても良いようです.
sample(start:stop, times, replace = "true" or "false")
なので,最初のコードと同じことを実行するためには,以下のように書いても良いようです.
julia> sample(1:6, 20, replace=true)
20-element Array{Int64,1}:
4
1
6
4
1
5
5
6
4
2
6
3
2
1
1
6
2
1
5
1
なお,上記の例のJupyter Notebookファイルは,GitHubのPython_vs_Julia_Julia_03というファイルで見ることができます.
0 件のコメント :
コメントを投稿