静かなる名辞

pythonとプログラミングのこと


【python】np.randomの関数の配列サイズの渡し方をいつも忘れるのでメモった

 np.random以下には色んな乱数生成関数があるのですが、毎回「生成される配列のサイズの指定方法がわからない、なんだっけ?」と思っているので、この際備忘録として残しておきます。

Random sampling (numpy.random) — NumPy v1.16 Manual

 を見るとわかりますが、

  • randおよびrandnだけが
rand(d0, d1, …, dn)	
randn(d0, d1, …, dn)

 というフォーマットを取る。

  • それ以外は主要なものはすべてsize引数で渡す(array.shapeと同じフォーマットのtuple)

 ということになっており、大変覚えやすいのでした。

 これまでは、

np.random.normal(2,3,4)

 とか、

np.random.rand(size=(3,4,5))

 とか、あとはなぜか、

np.random.randn(shape=(4,5,6))

 みたいに書いたりして怒られるということがしょっちゅうありましたが、この備忘録を書いたことで今後は間違えないで済みそうです。