np.random.uniform

生成固定范围的随机数

numpy.random.uniform(low,high,size)

功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.

参数介绍:

low: 采样下界,float类型,默认值为0;
high: 采样上界,float类型,默认值为1;
size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

生成1到3范围内的一个数

np.random.uniform(1,3 )2.428660811204951

生成1到3范围内的3个数

np.random.uniform(1,3,3)

生成1到3范围内的一个数组

np.random.uniform(1,3,(3,4))array([[1.33966067, 2.49505668, 1.64736243, 2.87393099],[1.82262092, 1.99874646, 2.21015437, 1.85057996],[1.56628769, 1.72106702, 2.51257272, 1.20544446]])

np.random.rand

格式:

np.random.rand(d0,d1,d2……dn)

功能:
通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。

生成一个234的数组(矩阵)

np.random.rand(2,3,4)array([[[0.15578084, 0.71341564, 0.67504868, 0.02170231],[0.19140309, 0.00316935, 0.45001369, 0.26772278],[0.40754725, 0.02049305, 0.93805478, 0.81211553]],[[0.31582232, 0.49207225, 0.75451686, 0.21681679],[0.63228279, 0.87337407, 0.78047581, 0.29561688],[0.38732089, 0.17060556, 0.51034935, 0.3329788 ]]])

np.random.random(size=)

用法与np.random.rand 一样,就size要加括号

np.random.random((1000, 20))

上面这个就代表生成1000行 20列的浮点数,浮点数都是从0-1中随机。

np.random.randn()

通过本函数可以返回一个或一组服从标准正态分布的随机样本值。

np.random.randn(d0,d1,d2……dn)

randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的array

标准正态分布曲线下面积分布规律是:

在-1.96~+1.96范围内曲线下的面积等于0.9500(即取值在这个范围的概率为95%),在-2.58~+2.58范围内曲线下面积为0.9900(即取值在这个范围的概率为99%).
因此,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。

np.random.randint()

numpy.random.randint(low, high=None, size=None, dtype='l')

功能:

返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。 如果没有写参数high的值,则返回[0,low)的值。

参数如下:

low: int 生成的数值最低要大于等于low。(hign = None时,生成的数值要在[0, low)区间内)
high: int (可选)如果使用这个值,则生成的数值在[low, high)区间。
size: int or tuple of ints(可选) 输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
dtype: dtype(可选): 想要输出的格式。如int64、int等等

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

numpy.random.seed()

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

numpy.random.seed(num)

如下代码,我没戏运行结果都一样,如果不加seed就不一样了。

np.random.seed(5)
print(np.random.randint(5,10,size=(4,3)))

np.random.shuffle()

对一维数组重新排序:

arr = np.arange(10)
print(arr)np.random.shuffle(arr)
print(arr)[0 1 2 3 4 5 6 7 8 9]
[1 8 4 7 6 0 3 9 2 5]
arr = np.arange(12).reshape(3,4)
print(arr)np.random.shuffle(arr)
print(arr)np.random.shuffle(arr)
print(arr)[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]
[[ 4  5  6  7][ 0  1  2  3][ 8  9 10 11]]
[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]

np.random.permutation(x)

  1. 可直接生成一个随机排列的数组:
np.random.permutation(10)array([9, 0, 7, 8, 1, 2, 6, 3, 4, 5])
  1. 对一维数组随机排序(多维数组一样):
np.random.permutation(np.arange(10))array([2, 8, 3, 4, 0, 7, 6, 1, 5, 9])

从代码可以看出,两个函数的功能类似。np.random.shuffle(x)改变自身数组,np.random.permutation(x)不改变自身数组。

np.random.choice()

 choice(a, size=None, replace=True, p=None)

表示从a中随机选取size个数
replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么通一次挑选出来的数都不一样,如果是True的话, 有可能会出现重复的,因为前面的抽的放回去了。
p表示每个元素被抽取的概率,如果没有指定,a中所有元素被选取的概率是相等的。
可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回。

>>> np.random.choice(5, 3)
array([0, 3, 4])>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0])>>> np.random.choice(5, 3, replace=False)
array([3,1,0])>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0])>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'],

numpy.random随机数模块常用函数总结相关推荐

  1. Python中random模块常用函数/方法(2)——random.random(),random.randint()和random.uniform()

    1.random.random():生成一个0到1的随机符点数: 0 <= n < 1.0 语法:random.random() #生成一个0~1之间的随机浮点数 print(" ...

  2. [转载] NumPy 基本操作(ndarray通用函数 / 常用函数)

    参考链接: Python中的numpy.cosh ndarray通用函数 / 常用函数 一.ufunc:numpy 模块中对 ndarray 中数据进行快速元素级运算的函数,也可以看做是简单的函数(接 ...

  3. Python攻城师的成长————模块突破(collections、time与datetime、random随机数模块)

    今日学习目标: 学习并应用collections.time与datetime.random随机数模块知识 今日学习内容: collections模块 time与datetime模块 random随机数 ...

  4. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  5. 第四十七节,random 随机数模块

    random 随机数模块 格式: import random 引入随机模块文件 random.randrange(65,91) 调用随机函数random.randrange(随机数开始范围,随机数结束 ...

  6. 【Python】PyQt5.QtWidgets模块常用函数和类(使用参考源码)

    Python PyQt5.QtWidgets 模块常用函数和类. PyQt5 是一套Python绑定Digia QT5应用的框架. QtWidgets 是PyQt5下面的一个模块,包含了一整套UI元素 ...

  7. random库的常用函数

    random库的常用函数 random()生成一个[0.0,1.0]之间的随机小数 uniform(a,b)生成[a,b]之间的随机小数 randint(a,b)生成一个[a,b]之间的整数 rand ...

  8. numpy.random模块常用函数

    在Numpy库中,常用使用np.random.rand().np.random.randn()和np.random.randint()随机函数. 1. np.random.randn()函数 作用:返 ...

  9. random模块常用函数介绍

    random是numpy中超好用的随机数模块,在数据分析中,我们不可避免需要一些随机值,如果自己手动输入,不仅不方便,还不随机.现在我们来一起学习一下这个模块. 简单随机数 rand(d0, d1, ...

最新文章

  1. 一、cocos2dx之如何优化内存使用(高级篇)
  2. Velocity的中文问题
  3. Java exception handling best practices--转载
  4. 消防验收找问题,一般就是这些了!
  5. java实现下载压缩文件_java实现文件压缩下载----压缩下载zip
  6. ASP.NET Core Controller与IOC的羁绊
  7. tum数据集_数值预报尚能战否?来自数据驱动的挑战
  8. 暴跌300亿,“撤离”中国!乔布斯12年前憋的大招,又把一个巨头逼下神坛
  9. 谁给小鹏P5的勇气?
  10. 在html页面中怎么打印区域,javascript打印web页面中指定区域的方法
  11. nodejs 中http请求头,响应头
  12. 查询数据总数_Web | Django 与数据库交互,你需要知道的 9 个技巧
  13. 批量导入手机通讯录_怎么批量导出联系人通讯录,华为手机通讯录转移如何操作?...
  14. java网站渗透测试_如何进行Web渗透测试
  15. UI设计作品中经常会用到的设计技巧?|优漫动游
  16. Cesium中获取坐标点地形高程的方法
  17. 电子邮箱免费注册,比较好用的电子邮箱怎么注册?如何申请?
  18. 【转】软件安装错误2203(The error code is 2203)
  19. http简介以及常见知识和http请求头,响应头,状态码,内容类型对照表分享(超实用)
  20. 产业新闻-2006.06.02-05

热门文章

  1. linux的idle命令,DBA 常用Linux命令
  2. linux修改非root用户密码永不过期
  3. 同步方法中的锁对象_互斥锁与读写锁:如何使用锁完成Go程同步?
  4. vue怎么通过if跳出方法_vue多种弹框的弹出形式
  5. footer代码html,css如何实现footer定位(完整代码)
  6. 在JupyterNotebook中使用多个Python环境
  7. UML-基于GRASP对象设计步骤
  8. springboot_通过Actuator了解应用程序运行时的内部状况
  9. 空间平面,空间直线及它们的方程
  10. 测试或运维工作过程中最常用的几个linux命令?