【python】 numpy 中常用随机数函数的使用和记忆(不易混淆)

概述

在使用numpy生成随机数过程中,通常有多个函数,容易混乱使用,也不知道哪些要加括号,哪些不需要加括号。本文主要总结使用过程中常用随机数生成的一些函数。包括 np.random.random、np.random.rand、np.random.randint、np.random.normal、np.random.uniform
这些函数的使用。

固定分布随机数(只需指定形状的随机函数)

np.random.random

这个函数用来生成0-1之间的均匀分布,输入是指定形状。例如np.random.random((2,5)) 生成的是2行5列的随机数,需要注意的是输入需要用括号括起来,也就是输入是一个元组。

np.random.rand

np.random.rand 与函数 np.random.random 同样用来生成0-1 的均匀随机数,但是输入本身自带形状,不需要用括号括起来。也就是如果要生成2行5列的数据,直接使用np.random.rand(2,5) 即可

np.random.randn

np.random.randn 与函数 np.random.rand 同样输入直接是形状,但是分布从均匀分布0-1变成高斯分布(u=0,sigma=1),也就是说,随机数是可以出现负值的。

随机范围随机数(需要指定范围和形状的随机函数)

np.random.randint

用来指定在某个指定范围,某个形状的随机数,输入是np.random.randint(low,high,size) ,也就是说输入是需要同时指定范围和形状,例如np.random.randint(1,5,size=(2,5)) 就是生成范围在1-5内,形状(2,5)的均匀分布随机数。

np.random.uniform

np.random.uniformnp.random.randint 同样需要同时指定范围和形状,但是与之不同的是,np.random.uniform 是可以生成小数的,而np.random.randint生成的范围内的整数。

np.random.normal

np.random.normalnp.random.randn 同样都是高斯函数分布,但是需要自行设定均值u和标准差sigma,输入格式为np.random.normal(u,sigma,size) ,u和sigma 其实也是设定范围的意思,也就是说范围和形状需要同时设定。

np.random.poisson

np.random.poissonnp.random.normal 同样是指定特定的分布函数,就是泊松函数和高斯函数的区别,但是泊松函数只需要设定lamda 就可以,(泊松函数lamda=均值)。输入形状np.random.poisson(lamda,size)

代码示例

下面用代码演示一下用上面7个随机函数随机生成形状2行5列的随机数。

固定分布随机数(只需指定形状的随机函数)代码示例

    a = np.random.random((2,5))

    print("random_shape:\n",a.shape)
    print("random:\n",a)
    print("\n",a)

    a = np.random.rand(2,5)

    print("rand_shape:\n",a.shape)
    print("rand:\n",a)
    print("\n",a)

    a = np.random.randn(2,5)

    print("randn_shape:\n",a.shape)
    print("randn:\n",a)
    print("\n",a)

输出
在这里插入图片描述

随机范围随机数(需要指定范围和形状的随机函数)

a = np.random.randint(0,10,size=(2,5))

    print("randint_shape:\n",a.shape)
    print("randint:\n",a)
    print("\n",a)

    a = np.random.normal(0,1,size=(2,5))

    print("normal_shape:\n",a.shape)
    print("normal:\n",a)
    print("\n",a)

    a = np.random.uniform(0,1,size=(2,5))

    print("uniform_shape:\n",a.shape)
    print("uniform:\n",a)
    print("\n",a)

    a = np.random.poisson(1.0,size=(2,5))

    print("poisson_shape:\n",a.shape)
    print("poisson:\n",a)
    print("\n",a)

输出
在这里插入图片描述

怎么记忆

容易记混,怎么记?
1、rand 结尾的 ,除了randint 需要指定最小最大值和形状,其他直接输入形状就行,
2、除了rand作为结尾的,其他结尾,都需要参数和size同时输入。

相关推荐

  1. 日常项目函数记录总结(二)

    2024-04-15 07:38:02       26 阅读
  2. C#使用OpenCV函数

    2024-04-15 07:38:02       39 阅读
  3. C++ STLVector函数

    2024-04-15 07:38:02       17 阅读
  4. libtorch函数记录

    2024-04-15 07:38:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-15 07:38:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-15 07:38:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-15 07:38:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-15 07:38:02       18 阅读

热门阅读

  1. excel表导入导出

    2024-04-15 07:38:02       17 阅读
  2. Linux kernel 墙上时间

    2024-04-15 07:38:02       29 阅读
  3. Spark开窗函数之ROW

    2024-04-15 07:38:02       14 阅读