经常会遇到取随机数,总结一下常见的取随机数方法:(持续更新)
一、取随机数所需的包
python中取随机数有两种来源:
a. 一个是python自带的随机数包,可以满足基本取随机数的需求。
b. 是numpy包中带的随机数,可以满足高级的取随机数需求。
二、 取随机数的分类
随机数相关命令非常多,记忆起来很复杂。但是从我们的需求入手,取随机数可以从六个维度考虑:
a. 输出数据类型:浮点,整数,元素,list,array, 或是其他。
b. 取值的数量:取一个,取n个。
c. 取值范围:不设定范围,设定范围
d. 间隔步长:不设定步长,设定步长
e. 是否从特殊分布中取值:不从特殊分布中取值(均匀分布),正态分布中取值,标准正态分布取值,高斯分布,对数正态分布,指数分布,三角分布,beta分布,韦伯分布,gamma分布,pareto分布,给定数组等。
f. 其他功能:随机器状态设置,设置随机种子等。
从以上维度考虑,就可以得出要用哪种命令,剩下的,可以搜索查找,或者记忆都行。
三、如何选择各个维度
a. 数据类型:
浮点:占用内存多,小数位数多
整数:占用内存少,小数位数少
元素:必须提前指定一个list,输出其中的元素
list: 不能凭空输出,只能将原有list打乱序列后 输出
array:python自带包无法输出array,numpy包可以输出array
b. 输出数量(维度):根据需求选取
tips:python自带包只能输出一个数,numpy可以输出多个数。
c. 取值范围:根据需求选取
tip 1:python自带包可以进行开闭区间的设置,numpy只能进行整数的区间设置,不能进行浮点数的区间设置。
d. 间隔步长:根据需求选取
e. 特殊分布:根据需求选取
tip 2: python的自带包特殊分布只能输出一个数,numpy可以批量输出。
f. 其他功能:
四、常用命令:
五、python自带包和numpy随机数区别
博客有详细的介绍,暂时截图在此
https://blog.csdn.net/qq_20011607/article/details/82288561#random-介绍