numpy中几种随机数生成函数的用法

 更新时间:2023年11月06日 09:22:59   作者:别致的SmallSix  
numpy是Python中常用的科学计算库,其中也包含了一些随机数生成函数,本文主要介绍了numpy中几种随机数生成函数的用法,具有一定的参考价值,感兴趣的可以了解一下

一、np.random.rand()

该函数括号内的参数指定的是返回结果的形状,如果不指定,那么生成的是一个浮点型的数;如果指定一个数,那么生成的是一个numpy.ndarray类型的数组;如果指定两个数字,那么生成的是一个二维的numpy.ndarray类型的数组。如果是两个以上的数组,那么返回的维度就和指定的参数的数量个数一样。其返回结果中的每一个元素是服从0~1均匀分布的随机样本值,也就是返回的结果中的每一个元素值在0-1之间。

import numpy as np
mat = np.random.rand()
print(mat)
print(type(mat))
mat = np.random.rand(2)
print(mat)
print(type(mat))
mat = np.random.rand(3, 2)
print(mat)
print(type(mat))

输出:

二、np.random.randn()

该函数和rand()函数比较类似,只不过运用该函数之后返回的结果是服从均值为0,方差为1的标准正态分布,而不是局限在0-1之间,也可以为负值,因为标准正态分布的曲线是关于x轴对阵的。其括号内的参数如果不指定,那么生成的是一个浮点型的数;如果指定一个数,那么生成的是一个numpy.ndarray类型的数组;如果指定两个数字,那么生成的是一个二维的numpy.ndarray类型的数组。和rand()相比,除了元素值不一样,其他的性质是一样的。

import numpy as np
mat = np.random.randn()
print(mat)
print(type(mat))
mat = np.random.randn(2)
print(mat)
print(type(mat))
mat = np.random.randn(3, 2)
print(mat)
print(type(mat))

输出:

三、np.random.randint(low,high,size,dtype)

 该函数中包含了几个参数,其具体含义为:

low:生成的元素值的最小值,即下限,如果没有指定high这个参数,则low为生成的元素值的最大值。

high:生成的元素值的最大值,即上限。

size:指定生成元素值的形状,也就是数组维度的大小。

dtype:指定生成的元素值的类型,如果不指定,默认为整数型

返回结果:返回值是一个大小为size的数组,如果指定了low和high这两个参数,那么生成的元素值的范围为[low,high),不包括high;如果不指定high这个参数,则生成的元素值的范围为[0,low)。如果不指定size这个参数,那么生成的元素值的个数只有一个。

import numpy as np
# 指定一个参数low
mat = np.random.randint(low=1)
print(mat)
print(type(mat))
 
# 指定low和high,生成一个[low,high)的元素值
mat = np.random.randint(low=1, high=5)
print(mat)
print(type(mat))
 
# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.randint(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
 
mat = np.random.randint(low=2, high=10, size=(3, 3), dtype=np.uint8)
print(mat)
print(type(mat[0][0]))

输出:

注意:low=1代表从0取值,high=10代表最高取值为9。

四、np.random.uniform(low,high,size)

参数说明:

low:生成元素值的下界,float类型,默认值为0。
high:生成元素值的上界,float类型,默认值为1。
size:输出样本的数目,可以指定一个值,也可指指定大于等于两个值。
返回对象:ndarray类型,形状为size中的数值指定,其元素个数为size指定的参数的乘积。

我们前面已经说过了rand()这个函数,它返回的元素值是服从0-1的均匀分布,那如果不想要生成的是0-1范围内的均匀分布,想要其它范围内的均匀分布怎么办呢。

uniform()实现了这个功能,它可以生成服从指定范围内的均匀分布的元素。其返回值的元素类型为浮点型。需注意的是元素值的范围包含low,不包含high

import numpy as np
# 指定一个参数low
mat = np.random.uniform()
print(mat)
print(type(mat))
 
# 指定low和high,生成一个[low,high)的元素值
mat = np.random.uniform(low=5, high=10)
print(mat)
print(type(mat))
 
# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.uniform(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
 
mat = np.random.uniform(low=2, high=10, size=(3, 3, 2))
print(mat)
print(type(mat[0][0][0]))

输出:

总结

以上就是常用的随机数生成函数,具体用哪一个,可根据自己需求,想要生成什么随机数,那就使用什么样的函数。更多相关numpy 随机数生成函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    今天小编就为大家分享一篇python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 用Python将动态GIF图片倒放播放的方法

    用Python将动态GIF图片倒放播放的方法

    GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。这篇文章主要介绍了用Python将动态GIF图片倒放播放的方法,需要的朋友可以参考下
    2016-11-11
  • Python基于smtplib模块发送邮件代码实例

    Python基于smtplib模块发送邮件代码实例

    这篇文章主要介绍了Python基于smtplib模块发送邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python中矩阵创建和矩阵运算方法

    Python中矩阵创建和矩阵运算方法

    今天小编就为大家分享一篇Python中矩阵创建和矩阵运算方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • python中小数点后取2位(四舍五入)及取2位(四舍五不入)的方法

    python中小数点后取2位(四舍五入)及取2位(四舍五不入)的方法

    这篇文章主要给大家介绍了python中小数点后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取两位小数的方法其实非常简单,需要的朋友可以参考下
    2023-08-08
  • Python进行数据提取的方法总结

    Python进行数据提取的方法总结

    数据提取是分析师日常工作中经常遇到的需求。如某个用户的贷款金额,某个月或季度的利息总收入,某个特定时间段的贷款金额和笔数,大于5000元的贷款数量等等。本篇文章介绍如何通过python按特定的维度或条件对数据进行提取,完成数据提取需求。
    2016-08-08
  • Python Django 后台管理之后台模型属性详解

    Python Django 后台管理之后台模型属性详解

    这篇文章主要介绍了Python Django 后台管理之后台模型属性,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python中断多重循环的几种方法

    Python中断多重循环的几种方法

    跳出单循环不管是什么编程语言,都有可能会有跳出循环的需求,本文主要介绍了Python中断多重循环的几种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Django的开发步骤原来是这样的

    Django的开发步骤原来是这样的

    这篇文章主要为大家详细介绍了Django的开发步骤,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • window下eclipse安装python插件教程

    window下eclipse安装python插件教程

    这篇文章主要为大家详细介绍了window下eclipse安装python插件教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论