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

文章目录

    • 概述
    • 固定分布随机数(只需指定形状的随机函数)
      • np.random.random
      • np.random.rand
      • np.random.randn
    • 随机范围随机数(需要指定范围和形状的随机函数)
      • np.random.randint
      • np.random.uniform
      • np.random.normal
      • np.random.poisson
    • 代码示例
      • 固定分布随机数(只需指定形状的随机函数)代码示例
      • 随机范围随机数(需要指定范围和形状的随机函数)
    • 怎么记忆

概述

在使用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同时输入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/309093.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乐写9612手写板实测故障

闲鱼上淘了二手的 ①需要驱动很强的usb口,老usb口会不识别,尤其是笔记本容易不识别,非常容易出现下面这种问题: ②需要microsoft2013以上的,兼容性做的比较差 ③由于可视化,导致数据线容易烧,…

超标量处理器设计:基于竞争的分支预测分支预测的更新

★ 继续学习体系结构的知识。 接着上一讲继续写 ★上一讲:超标量处理器设计:基于全局历史的分支预测-CSDN博客 ★上上一讲:超标量处理器设计:两位饱和计数器&基于局部历史的分支预测-CSDN博客 知识回顾: 基于局部…

策略模式【行为模式C++】

1.概述 策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。 策略模式通常应用于需要多种算法进行操作的场景,如排序、搜索、数据压缩等。在这些情况下&#x…

将公式用MathType转换导入LaTex的方法 Mathtype+laTex 混合使用 在mathtype中打latex代码编辑公式

关于LaTex和Word之间孰优孰劣的争论已经持续了很长时间,有些朋友在写论文时还会纠结是用Word好还是用LaTex好,其实他们两也是各有优势,LaTeX 与 Word 是两种不同类型的文本编辑处理系统。Latex是无格式的明文文档,格式保存在源文件…

dbeaver数据库语言编辑器设置jdbc驱动

打开 dbeaver 软件 数据库 -> 驱动管理器 以mysql为例 双击 MySQL -> 库 -> 添加工件 然后 打开maven组件库 官网 找到mysql驱动对应的maven工件地址 复制进去然后确认就行了 参考 大神博客

stm32f103c8t6hal库使用看门狗

STM32F103C8T6是一款性能强大的微控制器,它具有丰富的外设和功能,其中之一就是看门狗(Watchdog)。看门狗是一种重要的硬件设备,它可以在系统出现异常时自动重启系统,以保证系统的稳定运行。我们将详细介绍如…

001vscode为什么设置不了中文?

VSCode中文插件安装 在VSCode中设置中文的首要步骤是安装“Chinese (Simplified) Language Pack for Visual Studio Code”扩展插件。这一过程十分简单,只需打开VSCode,进入扩展市场,搜索“ Chinese (Simplified) Language Pack ”然后点击…

transformer

通过5个条件判定一件事情是否会发生,5个条件对这件事情是否发生的影响力不同,计算每个条件对这件事情发生的影响力多大,写一个transformer模型pytorch程序,最后打印5个条件分别的影响力。 示例一 为了计算每个条件对一件事情发生的影响力&am…

会声会影2024全新视频剪辑软件

会声会影 (CyberLink PowerDirector) 是一款既强大又易于使用的视频编辑软件,具有众多功能和工具,专为用户设计制作高质量的视频剪辑和制作。无论您是一个新手或是一个有经验的电影制作者,会声会影都适合您的需要。 生活即电影 软件下载地址&…

JAVA面试八股文之数据库

MySQL面试题 MySQL 存储引擎架构了解吗?CHAR 和 VARCHAR 的区别是什么?索引是越多越好嘛?MySQL数据库中空值(null)和空字符串()的区别?SQL 中 on 条件与 where 条件的区别&#xff1…

【设计模式】六大设计原则

设计原则 研究 23 种设计模式是困难的,甚至是没必要的六大设计原则零、单一职责原则开闭原则里氏代换原则依赖倒置原则接口隔离原则迪米特法则合成复用原则 研究 23 种设计模式是困难的,甚至是没必要的 设计模式有23种,我认为对普通人来说想…

Windows 关闭占用指定端口的进程

以下示例以443端口为例,具体哪个端口视自己情况而定 输入命令 # 输出的最后一列就是进程号pid netstat -ano | findstr "443" 找出占用443端口的进程号(pid)(第二列是你本机的应用占用的端口,看第二列就行)如下图&am…

音频变速python版

音频变速 如何能在不改变音频其他特点的情况下,只改变语速呢? 有几个python的库可以实现该功能,下面一一介绍。 pydub库 首先,确保安装了pydub和ffmpeg。 下面是一个简单的Python脚本,展示如何改变音频的播放速度&a…

OpenCV4.9​​​​基本阈值操作

目标 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::threshold 执行基本阈值操作 理论依据 注意 下面的解释属于 Bradski 和 Kaehler 的 Learning OpenCV 一书 阈值? 最简单的分割方法应用示例:分…

使用 R.swift(生成不了R.generated.swift)

今天算是正儿八经创建第一个swift工程,照着视频引用R.swift pod R.swift 工程配置 "$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/R.generated.swift" $TEMP_DIR/rswift-lastrun $SRCROOT/R.generated.swift * 注意 Run角本要放在 Che…

vmware安装win10及ubuntu

安装win10 新建一个文件夹 选择刚才创建的文件夹 选择需要保存文件的位置,还是选择刚才创建的文件夹 选择自定义硬件 选择下载的win10镜像iso文件,导入后,点击完成即可 接下来就是下一步 没有此电脑,可以点击个性化-》主题-》桌面设置…

已解决ERROR:ssl_client_socket_impl.cc(992)] handshake failed; returned -1, SSL error code 1, net_error

已解决ERROR:ssl_client_socket_impl.cc(992)] handshake failed; returned -1, SSL error code 1, net_error -101 文章目录 报错问题报错翻译报错原因解决方法千人全栈VIP答疑群联系博主帮忙解决报错 报错问题 粉丝群里面的一个小伙伴遇到问题跑来私信我,想用s…

MySQL复习

in和exists的区别? in是内外表hash连接,exists是对外表做loop循环,每次loop后再对内表查询,如果外表小就用exists; not in和not exists前者是全表扫描,后者是可以走索引 锁 对于标准的插入操作&#xf…

CUDA编程---全局内存

CUDA内存模型概述 内存的访问和管理是所有编程语言的重要部分。在现代加速器中,内存管理对高性能计算有着很大的影响。因为多数工作负载被加载和存储数据的速度所限制,所以有大量低延迟、高带宽的内存对性能是十分有利的。 然而,大容量、高性…

基于51单片机的无线病床呼叫系统设计—LCD1602显示

基于51单片机的无线病床呼叫系统 (仿真+程序+原理图+设计报告) 功能介绍 具体功能: 1.病人按下按键,LCD1602显示对应的床位号; 2.多人同时呼叫,显示屏同时显示&#xf…