Python随机数与随机数组

目录

最直接的方式(numpy.random)

np.random.rand

np.random.randn

np.random.randint

随机排列

np.random中其他函数

random模块构造


随机数组是非常有用的一种数组形式,特别是在测试中。

最直接的方式(numpy.random)

用numpy.random模块可方便生成随机数组,import numpy as np。

np.random.rand

np.random.rand:生成[0.0, 1.0)之间的随机浮点数

  • 没有参数时,返回一个随机浮点数;

  • 一个参数时,返回该参数长度大小的一维随机浮点数数组;

np.random.rand(5) 
array([0.22473024, 0.4379249 , 0.5324492 , 0.46408336, 0.81562242])

np.random.randn

np.random.randn:返回一个具有标准正态分布样本

  • 没有参数时,返回一个随机浮点数;

  • 一个参数时,返回该参数长度大小的一维随机浮点数数组;

np.random.randn(5)
array([-0.10164446,  1.10179681, -1.50089522, -0.27573966,  0.35404193])

np.random.randint

np.random.randint(low[, high, size]) :返回随机的整数,位于半开区间 [low, high)

  • 一个参数时(>0),返回0至此参数间的值;

  • 两个参数时,返回[low, high) 间的值;

  • size提供时,返回size长的数组;

np.random.randint(10,size=5)
array([0, 5, 8, 1, 6])

np.random.randint(1, 10,size=5)
array([7, 8, 8, 2, 6])

随机排列

np.random.shuffle(ary) 类似洗牌,打乱顺序;np.random.permutation(x)返回一个随机排列

ary=np.arange(10)
np.random.shuffle(ary)
array([4, 0, 9, 3, 2, 7, 1, 8, 6, 5])


np.random.permutation(10)
array([1, 3, 8, 0, 5, 7, 9, 2, 4, 6])

np.random中其他函数

  • seed:随机种子;

  • randn(N,M,...):生成满足标准正态分布的N*M*...维数的数组;

  • nomal(mean,std,size=(N,M...)):生成满足(mean,std)的正态分布数组;

  • beta(a,b,size):生成beta分布样本;

  • chisquare(df,size):自由度为df的卡方分布;

  • gamma(shape,scale=1.0,size=None):gamma分布;

  • uniform(low=0.0, high=1.0, size=None):uniform分布;

random模块构造

import random

  • random.randint(low, hight):返回一个位于[low,hight](首尾元素都可能取到)之间的整数;

  • random.random() :返回一个[0.0, 1.0)之间的浮点数;

  • random.uniform(val1, val2):返回两个数字区间的一个浮点数,不要求val1小于等于val2;

  • random.randrange(start, stop, step):返回以start开始,stop结束(不包括),step为步长的列表中的随机整数;

你可能感兴趣的:(Python,python,开发语言,后端)