numpy中的np.random.rand、np.random.randn、np.random.randint、np.random.uniform等用法

2023-11-15

随机数生成方法

1、np.random.rand(d0, d1, …, dn)
np.random.rand(d0, d1, …, dn):生成一个指定形状的[0, 1)之间均匀分布的随机数数组。参数d0, d1, …, dn指定了生成的随机数数组的维度。

import numpy as np

random_array = np.random.rand(3, 2)  # 生成一个3行2列的随机数数组
print(random_array)

2、np.random.randn(d0, d1, …, dn)
np.random.randn(d0, d1, …, dn):生成一个指定形状的**标准正态分布(**平均值为0,标准差为1)的随机数数组。参数d0, d1, …, dn指定了生成的随机数数组的维度

import numpy as np

random_array = np.random.randn(3, 2)  # 生成一个3行2列的标准正态分布随机数数组
print(random_array)

3、np.random.randint(low, high=None, size=None, dtype=int)

np.random.randint(low, high=None, size=None, dtype=int):生成一个指定形状的随机整数数组。参数low和high指定了随机数的范围,size指定了生成的随机数的形状,dtype指定了数组的数据类型。

import numpy as np

random_int = np.random.randint(1, 10, size=(3, 2))  # 生成一个3行2列的随机整数数组,范围为[1, 10)
print(random_int)

4、np.random.random_sample(size=None)
np.random.random_sample(size=None):生成一个指定形状的**[0, 1)之间均匀分布**的随机数数组。参数size指定了生成的随机数的形状

import numpy as np

random_array = np.random.random_sample(size=(3, 2))  # 生成一个3行2列的随机数数组
print(random_array)

5、np.random.random(size=None)
np.random.random(size=None):与np.random.random_sample方法相同,生成一个指定形状的[0, 1)之间均匀分布的随机数数组。参数size指定了生成的随机数的形状。

import numpy as np

random_array = np.random.random(size=(3, 2))  # 生成一个3行2列的随机数数组
print(random_array)

6、np.random.choice(a, size=None, replace=True, p=None)

np.random.choice(a, size=None, replace=True, p=None):从给定的数组或整数中随机选择元素。参数a可以是一个数组或整数,size指定了生成的随机数的形状,replace指定是否可以重复选择元素,p是每个元素被选择的概率(默认情况下是均匀分布)

import numpy as np

choices = np.array(['A', 'B', 'C', 'D', 'E'])
random_choice = np.random.choice(choices, size=3, replace=False, p=[0.1, 0.3, 0.2, 0.15, 0.25])
print(random_choice)

分布相关方法

1、np.random.normal(loc=0.0, scale=1.0, size=None)
np.random.normal(loc=0.0, scale=1.0, size=None):生成一个指定形状的服从正态分布(高斯分布)的随机数数组。参数loc指定了均值,scale指定了标准差,size指定了生成的随机数的形状

import numpy as np

random_normal = np.random.normal(loc=0.0, scale=1.0, size=(3, 2))  # 生成一个3行2列的正态分布随机数数组
print(random_normal)

2、np.random.uniform(low=0.0, high=1.0, size=None)

np.random.uniform(low=0.0, high=1.0, size=None):生成一个指定形状的在给定范围内均匀分布的随机数数组。参数low和high分别指定了随机数的范围,size指定了生成的随机数的形状。

import numpy as np

random_uniform = np.random.uniform(low=0.0, high=1.0, size=(3, 2))  # 生成一个3行2列的均匀分布随机数数组
print(random_uniform)

3、np.random.binomial(n, p, size=None)
np.random.binomial(n, p, size=None):生成一个指定形状的二项分布随机数数组。参数n指定了试验的次数,p指定了每次试验成功的概率,size指定了生成的随机数的形状

import numpy as np

random_binomial = np.random.binomial(n=10, p=0.5, size=(3, 2))  # 生成一个3行2列的二项分布随机数数组,每次试验10次,成功概率为0.5
print(random_binomial)

4、np.random.poisson(lam=1.0, size=None)

np.random.poisson(lam=1.0, size=None):生成一个指定形状的泊松分布随机数数组。参数lam指定了平均发生率,size指定了生成的随机数的形状。

import numpy as np

random_poisson = np.random.poisson(lam=2.0, size=(3, 2))  # 生成一个3行2列的泊松分布随机数数组,平均发生率为2.0
print(random_poisson)

随机数序列操作方法

1、np.random.shuffle(x)
np.random.shuffle(x):对数组进行原地随机排列,即打乱数组中元素的顺序。此函数会修改原始数组。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
np.random.shuffle(arr)  # 原地打乱数组顺序
print(arr)

2、np.random.permutation(x)
np.random.permutation(x):返回一个随机排列数组的副本,不会修改原始数组。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
permuted_arr = np.random.permutation(arr)  # 返回打乱顺序后的新数组
print(permuted_arr)

3、np.random.seed(seed=None)
np.random.seed(seed=None):设置随机数生成器的种子。种子是一个整数,用于确定随机数生成器的起始状态。使用相同的种子将得到相同的随机数序列。

import numpy as np

np.random.seed(123)  # 设置随机数生成器的种子为123
random_array = np.random.rand(3, 2)  # 生成一个3行2列的随机数数组
print(random_array)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

numpy中的np.random.rand、np.random.randn、np.random.randint、np.random.uniform等用法 的相关文章

随机推荐

  • LeetCode题目笔记——389. 找不同/Python/C++

    文章目录 题目描述 题目难度 简单 方法一 使用哈希表计数出现次数 代码 Python 方法二 利用字母的ASCII码 代码 C Python 方法三 位运算 总结 题目描述 给定两个字符串 s 和 t 它们只包含小写字母 字符串 t 由字
  • thttpd嵌入式www服务工具的使用

    thttpd是一个非常小巧的轻量级web server 它非常简单 仅仅提供了HTTP 1 1和简单的CGI支持 在其官方网站上有一个与其他web server 如Apache Zeus等 的对比图 Benchmark 可以参考 此外 th
  • 空间频率 MTF和 SFR

    什么叫空间频率 我们日常中一般的频率是指时间频率 其单位是Hz 其定义是单位时间内 s 运动次数 官方定义 1 单位时间内完成振动或振荡的次数或周数 2 某一时间内某事物发生的次数或完成某过程的次数 这里的被除数是单位所以是时间频率 但是如
  • [现代控制理论]11_现代控制理论串讲_完结_pdf获取

    DR CAN的现代控制理论的笔记就结束了 加上这篇一共11篇 现代控制理论 11 现代控制理论串讲 完结 pdf获取 现代控制理论 10 可观测性与分离原理 观测器与控制器 现代控制理论 9 状态观测器设计 龙伯格观测器 现代控制理论 8
  • 数据结构(五):前序遍历、中序遍历、后序遍历

    我们先看下二叉树的前序 后序和中序遍历 遍历下面这个二叉树 分别以前中后三种遍历方式 写出结点的顺序 前序遍历 顺序 根左右 或 中左右 遍历根节点 遍历根结点的左子结点 如果左结点不是叶节点 则以当前结点开始 重新从第一步开始循环 遍历根
  • keil错误 *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 解决方法

    keil错误 FATAL ERROR L250 CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 解决方法 出现这个是你的keli没有破解 步骤如下 1 以管理员的身份运行你的keli 2 以管理
  • 【Java+MySQL】使用JDBC连接MySQL 8.0数据库

    一 Java MySQL 8 0连接驱动包 下载链接 https pan baidu com s 1YFOImz0dCHtzIajSFq9xgg pwd boul 提取码 boul IDEA 导入方式 1 在 External Librar
  • Mysql 学习

    文章目录 下载 安装 修改 修改登录密码 授权 下载 Mysql 数据库的下载链接 注意 CenterOS 请选择 Red Hat 那一项 安装 这里介绍的是 5 7 版本 安装包是 rpm bundle tar 结尾的 创建 mysql
  • ZC-CLS381RGB颜色识别——配置寄存器组(上)

    文章目录 前言 一 ZC CLS381RGB简介 二 配置寄存器组 1 主控寄存器 2 检测速率寄存器 2 增益寄存器 2 颜色数据寄存器 三 状态转移图和信号波形图绘制 总结 前言 在现代工业生产中 颜色识别技术已经成为了一个非常重要的技
  • 使用JsonConvert.DeserializeObject注意事项

    在使用JsonConvert DeserializeObject反序列化自定义对象的时候 我遇到了一个问题 定义了一个对象QueryModel QueryModel拥有两个构造方法 私有无参构造方法 private QueryModel 跟
  • android直接方法和虚方法,Android NDK入门:C++ 基础知识

    为什么写这篇文章 本文算作是 Android 音视频开发打怪升级 系列文章的 番外 篇 原本打算将本文的内容写在 Android FFmpeg视频解码播放 这篇文章中 因为要想学习 FFmpeg 相关知识 C 的基础知识是必不可少的 但是写
  • java集合框架Map之HashMap底层原理解析

    感兴趣的话大家可以关注一下公众号 猿人刘先生 欢迎大家一起学习 一起进步 一起来交流吧 哈希表 hash table 哈希表也称为散列表 散列表 Hash table 也叫哈希表 是根据关键码值 Key value 而直接进行访问的数据结构
  • STM32——HAL版——定时器ms和us延时函数

    定时器做ms和us延时函数 本文用的是STM32L431RCT6芯片 定时器TIM2和TIM6挂载在APB1总线上 1 配置TIM2为ms延时定时器 TIM2为通用定时器在APB1总线上 主频为80MHz 设置TIM2参数 时钟源选择为内部
  • Android应用请求获取Root权限

    要让Android应用获得Root权限 首先Android设备必须已经获得Root权限 应用获取Root权限的原理 让应用的代码执行目录获取最高权限 在Linux中通过chmod 777 代码执行目录 代码如下 应用程序运行命令获取 Roo
  • 企业实践

    欢迎关注 全栈工程师修炼指南 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 花开堪折直须折 莫待无花空折枝 文章目录 0x00 前言简述 1 背景了解 2 发展历程 3 产品版本 4 官
  • Tensorflow入门——自制数据集:将未经处理的图片制成npy格式的数据集

    一些吐槽和文章简介 博主是那种 拿来就用 不会再查 的人 而几乎所有教程都秉持着 这应该是python课教的 的理念 从而使得没学过python的人颇为头疼 博主虽接触过python 但还没系统学过 阅读一篇代码 最耗时的部分不是探索算法原
  • Java基础(二):System.arraycopy()和Arrays.copyof()

    目录 1 Arrays copyOf 和 System arrayCopy 1 1 Arrays copyOf 1 2 System arrayCopy 1 3 区别 1 Arrays copyOf 和 System arrayCopy 1
  • java中用iterator去检查最大值,如何从Java 8中的Iterator获取n个第一个值?

    I have sorted a HashMap using Sort a Map by values Java to that I have a LinkedHashMap i e an Iterable which garantees i
  • maven 自定义archetype

    Maven提供了archetype帮助我们快速构建项目骨架 很便捷 但是 中央仓库中的archetype版本过于陈旧 构建好项目后 需要修改很多信息 甚是麻烦 那么如何自定义个archetype就显得很有必要 自定一个archetype须遵
  • numpy中的np.random.rand、np.random.randn、np.random.randint、np.random.uniform等用法

    随机数生成方法 1 np random rand d0 d1 dn np random rand d0 d1 dn 生成一个指定形状的 0 1 之间均匀分布的随机数数组 参数d0 d1 dn指定了生成的随机数数组的维度 import num