numpy官方文档:
https://numpy.org/devdocs/search.htmlq=random&check_keywords=yes&area=default
1.np.random.rand()
官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn) 。其中d0,d1…dn表示维度.
以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本
a=np.random.rand(3,2,7)
print(a)
运行结果:
[[[0.75094243 0.34889834 0.26992789 0.89588622 0.42809119 0.964840050.6634415 ][0.62169572 0.11474597 0.94948926 0.44991213 0.57838961 0.40813680.23702698]][[0.90337952 0.57367949 0.00287033 0.61714491 0.3266449 0.52705810.8859421 ][0.35726976 0.90853515 0.62336012 0.01582124 0.92943723 0.690896920.99732285]][[0.17234051 0.13713575 0.93259546 0.69681816 0.06600017 0.755463050.75387619][0.92302454 0.71152476 0.12427096 0.01988013 0.02621099 0.028306490.24621107]]]
2.np.random.randn()
官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)
若要获得一般正态分布则可用sigma * np.random.randn(…) + mu进行表示
a=5*np.random.randn(3,2)+2 #这是一般的正态分布
print(a)
运算结果:
[[-0.23564282 8.12253852][ 4.01745821 4.96789262][-3.47455923 2.84691217]]
3.numpy.random.randint()
官方文档中给出的用法是:numpy.random.randint(low,high=None,size=None,dtype)
生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
a=np.random.randint(2,7,size=(2,3))
print(a)
运算结果:
[[2 6 4][3 2 6]]
4.numpy.random.random_integers()
官方文档中给出的用法是:
numpy.random.random_integers(low,high=None,size=None)
生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
a=np.random.random_integers(3,8,size=(2,4))
print(a)
运行结果:
[[4 7 3 7][7 4 6 4]]
此外,若要将【a,b】区间分成N等分,也可以用此函数实现
a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)