python自带的random模块与numpy中random模块介绍

一、python自带random模块

在科学运算中,往往需要用到随机数,随机生成一些正态分布,贝塔分布等,其中常用方法如下所示:

函数介绍
random()生成一个大于等于0小于等于1 的浮点数
uniform(a,b)在已经指定的[a,b]范围内生成一个随机数,
triangular(low,high,mode)返回三角形分布的随机数,参数分别代表返回值上下限与中值
betavariate(alpha,beta)beta分布的随机数

分别对上述函数举个例子:

import random
print(random.random())#随机生成一个大于等于小于的的数
print(random.uniform(1,5))#在此范围内生成一个数
print(random.triangular(0,10,5))#生成三角形分布的值
print(random.betavariate(5,3))#生成beta分布的值

二、numpy.random()方法

通常生成随机数用python自带的random即可,numpy.random()方法常常用来生成随机数组。

方法描述
np.random.rand(d0,d1,d2…dn)生成(0,1]之间,维度为(d0,d1…)的数组
np.random.randn(d0,d1,d2…dn)具体类似于上者,这里服从正态分布
np.random.randint(low,high,[shape])生成维度为[shape],范围为(low,high]的随机矩阵
np.random.random_integers(low,high,[shape])生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
np.random.random_sample([size])返回随机的浮点数,在半开区间 [0.0, 1.0) 形状为[size]
np.random.choice(a[shape],replace,p从一位数组a中抽取元素,生成维度为[shape],replace代表元素是否重复抽取默认False,P:代表每个元素出现概率
np.random.shuffle(a)洗牌,打乱其原有顺序,改变后重新赋给a
np.random.permutation(a)与上者类似,只不过不改变a值
import numpy as np
print(np.random.rand(4,2,2))#生成4行2列[0,1)的矩阵
print(np.random.randn(4,2))#返回一个样本,具有标准正态分布。
print(np.random.randint(2,4,[2,5]))#生成从2-4的整数,2行5列
print(np.random.random_integers(1,5,[2,5]))#
print(np.random.random_sample((5,2)))#生成5行2列的浮点数
print(np.random.choice(5, 3))#This is equivalent to np.random.randint(0,5,3)
a=np.random.randint(1,200,(5,))#必须是1维的[111  23 152 125 129]
print(a)
print(np.random.choice(a,(3,2)))
b=np.random.randint(10,20,(3,3))
print(b)
c=np.random.shuffle(b)
print(c)
print(b)
d=np.random.permutation(b)
print(d)
print(b)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值