knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

numpy のrandom randn() で乱数生成。


numpy のrandom 等 で乱数操作のの説明となります。
 関連のページ:
https://docs.scipy.org/doc/numpy/reference/routines.random.html

numpyモジュールのimport

import numpy as np
import numpy.random as random

randn()

seed指定で毎回同じ乱数が出る

random.seed(0)

# 正規分布(平均0、分散1)の乱数を10個発生
a1 = random.randn(10)
print( a1 )

結果:

[ 1.76405235  0.40015721  0.97873798  2.2408932   1.86755799 -0.97727788
  0.95008842 -0.15135721 -0.10321885  0.4105985 ]

choice()

ランダム に抽出

# 10個を抽出(重複あり )
print(random.choice(a1,10))

# 10個を抽出(重複なし )
print(random.choice(a1 ,10,replace=False)) 
[ 0.40015721 -0.15135721  0.4105985   0.4105985   2.2408932   0.95008842
 -0.15135721  0.97873798  1.76405235  2.2408932 ]
[ 0.40015721  0.97873798  1.76405235 -0.15135721  0.4105985   0.95008842
 -0.10321885  2.2408932   1.86755799 -0.97727788]