Numpy

目次

乱数を発生させる

  • import numpy as np
  • 戻り値:ndarray

メモ

  • random.shuffle(list)、でlistをシャッフルできる←npではないな

np.random.rand()

np.random.rand()            # 0~1の乱数を1個生成
np.random.rand(10)          # 0~1の乱数を10個生成
np.random.rand(10).cumsum() # その累積和を生成
np.random.rand(5,5)         # 0~1の乱数で5*5の行列を生成

np.random.randn()

np.random.randn()            # 標準正規分布(平均0,標準偏差1)で1個生成
np.random.randn(10)          # 〃 10個生成
np.random.randn(10).cumsum() # その累積和を生成
np.random.randn(5,5)         # 標準正規分布を5*5の配列を生成

np.random.randint()

np.random.randint(100)         # 0~99の整数を1個作成
np.random.randint(20,50)       # 20~49までの整数を1個作成)
np.random.randint(0,100,(5,5)) # 0~99までの整数で5*5の配列作成

[np.random.randint(0,10) for i in range(10)] # リスト
np.asarray(上の式)                           # 上記をndarray方式にする

np.arange()

np.arange(5)                # 0~4の連番
np.arange(1, 11, 2)         #1,3,5,7,9 
np.arange(9).reshape((3,3)) # 0~8までの3*3配列

np.linspace()

np.linspace(0,10,5) # 0~10までを5等分した等差配列

np.random.seed()

  • 実行する度にrandomな数値が生成されるが、同じ乱数を利用したい時もある
  • seed(n)で初期化した後に生成した乱数は記憶され、seed(n)で呼び出せる
np.random.seed(0) # seed(0)で初期化した後に乱数を生成
np.random.random()
# >>0.5488135039273248

np.random.seed(0) # seed(0)で同様な乱数式であれば同じ乱数が生成できる
np.random.random()
# >>0.5488135039273248