ZH奶酪:【Python】random模块
2015-06-22 15:28
567 查看
Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍。如下:
[b]random.random()[/b]
用于生成一个0到1的随机浮点数。如:
输出:
[b]random.uniform(a,b)[/b]
用于生成一个指定范围内的随机浮点数,两个参数一个是上线,一个是下线。如:
输出:
[b]random.randint(a,b)[/b]
用于生成指定范围内的整数,生成上线和下线之间的随机数,如:
输出:
[b]random.randrange([start], stop[, step])[/b]
从指定范围内,按指定基数递增的集合中 获取一个随机数。如:
结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。
[b]random.choice(sequence)[/b]
参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。如:
输出:
[b]random.shuffle(x[, random])[/b]
用于将一个列表中的元素打乱,如:
输出:
[b]random.sample(sequence, k)[/b]
从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列,如:
输出:
在[b]numpy模块中有random模块[/b],这两个模块在功能方面和性能方面有一定的差别,numpy.random模块有以下一些函数和功能模型:
[b]numpy.random.rand(d0, d1, …, dn):[/b]
其中d0, d1, …, dn为整数(int)型,输出一个shape为(d0, d1, …, dn)的矩阵。如:
输出:
[b]numpy.random.randn(d0, d1, …, dn)[/b]
其中d0, d1, …, dn)为整数型,输出标准正太分布的矩阵。
生产的分布,则sigma * np.random.randn(…) + mu,如下:
若我们要生成满足正太分布为N(3,2.5^2),2行4列的array
输出:
[b]numpy.random.randint(low, high=None, size=None)[/b]
生产一定范围内的元素为整数的array。
low为下限,size为生成的array大小,如果high为none则生成0~low的均匀分布随机数,若指定了high,那么生产low~high的均匀分布随机数。如生产2×4的在(0,4)的array,则:
输出:
[b]random.random()[/b]
用于生成一个0到1的随机浮点数。如:
import random random.random()
输出:
0.3701787746508932
[b]random.uniform(a,b)[/b]
用于生成一个指定范围内的随机浮点数,两个参数一个是上线,一个是下线。如:
random.uniform(10,20)
输出:
16.878776709127855
[b]random.randint(a,b)[/b]
用于生成指定范围内的整数,生成上线和下线之间的随机数,如:
random.randint(10,20)
输出:
14
[b]random.randrange([start], stop[, step])[/b]
从指定范围内,按指定基数递增的集合中 获取一个随机数。如:
random.randrange(10, 100, 2)
结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。
[b]random.choice(sequence)[/b]
参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。如:
random.choice((“Tuple”,”List”, “Dict”))
输出:
List
[b]random.shuffle(x[, random])[/b]
用于将一个列表中的元素打乱,如:
x=[“Python”,”data”,”random”,”Mining”,”good”] random.shuffle(x) print x
输出:
[‘Python’, ‘Mining’, ‘good’, ‘random’, ‘data’]
[b]random.sample(sequence, k)[/b]
从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列,如:
lists=[1,2,3,4,5,6,7,8,10] a=random.sample(lists,3) print a
输出:
[4, 7, 5]
在[b]numpy模块中有random模块[/b],这两个模块在功能方面和性能方面有一定的差别,numpy.random模块有以下一些函数和功能模型:
[b]numpy.random.rand(d0, d1, …, dn):[/b]
其中d0, d1, …, dn为整数(int)型,输出一个shape为(d0, d1, …, dn)的矩阵。如:
np.random.rand(3,2)
输出:
array([ [ 0.14022471, 0.96360618], [ 0.37601032, 0.25528411], [ 0.49313049, 0.94909878] ])
[b]numpy.random.randn(d0, d1, …, dn)[/b]
其中d0, d1, …, dn)为整数型,输出标准正太分布的矩阵。
生产的分布,则sigma * np.random.randn(…) + mu,如下:
若我们要生成满足正太分布为N(3,2.5^2),2行4列的array
2.5 * np.random.randn(2, 4) + 3
输出:
array([ [-4.49401501, 4.00950034, -1.81814867, 7.29718677], [ 0.39924804, 4.68456316, 4.99394529, 4.84057254] ])
[b]numpy.random.randint(low, high=None, size=None)[/b]
生产一定范围内的元素为整数的array。
low为下限,size为生成的array大小,如果high为none则生成0~low的均匀分布随机数,若指定了high,那么生产low~high的均匀分布随机数。如生产2×4的在(0,4)的array,则:
np.random.randint(5, size=(2, 4))
输出:
array([ [4, 0, 2, 1], [3, 2, 2, 0] ])
相关文章推荐
- python学习-subprocess模块
- python中的类,对象,方法,属性等介绍
- Python变量、运算符与表达式
- alex教学视频--购物表
- python常用模块
- python中if __name__ == '__main__':
- Python 中的方法、静态方法(static method)和类方法(class method)
- Python学习 之 switch语句
- Python编码规范
- Windows 下安装Python包(Numpy)的错误:Unable to find vcvarsall.bat
- Windows 下安装Python包(Numpy)的错误:Unable to find vcvarsall.bat
- Python lambda匿名函数
- Python学习 之 匿名函数
- 说说Python的装饰器模式与面向切面编程
- python字符串前缀 u和r的区别
- 零基础项目制学习python(二)
- python传值机制
- python传值机制
- python2与python3的区别
- python2与python3的区别