random [ˈrændəm]:随机的
-
random 模块是 Python的内置模块
-
random 主要用来生成随机数
常用方法:
random.randrange(start, stop, step)
返回一个range(start, stop, step)数组中随机一个数
等价于random.choice(range(start, stop, step))
random.randint(start, stop)
返回[start, stop]内随机一个整数
即random.randrange(start, stop+1)
random.random()
无参数
随机返回一个0~1内的浮点数,不包括1
random.uniform(start, stop)
返回[start, stop]内随机一个浮点数
In:random.uniform(0, 1)out:0.8566146012081072
random.choice(sequence)
传入一个序列(列表、元组、字符串等)
随机返回序列中的一个元素
In:random.choice([1, 2, 3])out:2In:random.choice('python')out:'p'
random.sample(seq, k)
传入一序列
随机从序列中选择k个元素(不重复)
返回由选择出的k个元素组成的列表
In:random.sample('python', 2)out:['p', 't']
random.shuffle(list_x)
传入一个列表对象
列表将会被重新排序
不返回任何值
In[1]:a = [1, 2, 3, 4]In[2]:random.shuffle(a)In[3]:aOut[3]:[2, 3, 1, 4]
random.seed(a)
type(a)为int, float, str等
配合其他随机函数一起使用,调用其他随机模块函数之前调用此函数
当seed()没有参数时,每次生成的随机数是不一样的
当seed()有参数时,每次使用相同随机函数生成的随机数是一样的
In[1]:random.seed(1)In[2]:random.random()Out[2]:0.9154194752619804In[3]:random.seed(1)In[4]:random.randint(1, 10)Out[4]:3In[5]:random.seed(1)In[6]:random.random() # 再次使用相同种子调用相同函数,返回值相同Out[6]:0.9154194752619804In[7]:random.seed[1]In[7]:random.randint(1,7)Out[7]:3In[8]:random.seed(1)In[9]:random.randint(1, 8)Out[9]:6
概率模型
正态分布
random.gauss(mu, sigma)
或random.normalvariate(mu, sigma)
mu是均值, sigma是标准差
import randomfrom matplotlib import pyplot as plty = [random.gauss(50, 5) for i in range(10000)]plt.hist(y, 50)plt.show()

beta分布
random.betavariate(alpha, beta)
以beta分布的概率分布返回0到1之间的随机数。
贝塔分布(Beta Distribution) 是一个作为 伯努利分布 和二项式分布的 共轭先验分布 的 密度函数 ,在机器学习和 数理统计学 中有重要应用。. 在 概率论 中, 贝塔分布 ,也称 Β分布, 是指一组定义在 (0,1) 区间的连续 概率分布 。
指数分布
gamma分布
weibull分布
等等
最后
以上就是光亮饼干最近收集整理的关于random模块的全部内容,更多相关random模块内容请搜索靠谱客的其他文章。
发表评论 取消回复