Numpy科学计算与数据分析:Numpy随机数生成入门

Numpy随机数生成实战

学习目标

通过本课程,学员将掌握如何使用Numpy库生成不同类型的随机数,包括随机整数、随机浮点数以及从特定分布中抽样的方法。本课程将通过理论讲解与实践操作相结合的方式,帮助学员深入理解Numpy在随机数生成方面的强大功能。

相关知识点

Numpy随机数生成

学习内容

1 Numpy随机数生成

1.1 使用Numpy生成随机整数

在数据处理和机器学习中,随机数生成是一个非常常见的需求。Numpy提供了多种生成随机数的方法,其中numpy.random.randint函数可以用来生成随机整数。这个函数允许用户指定生成随机数的范围,非常灵活。

1.1.1 理论知识

numpy.random.randint函数的基本语法如下:

  • low:生成随机数的最小值(包含)。
  • high:生成随机数的最大值(不包含)。如果未指定,则默认为low,且low为0。
  • size:输出的形状。如果给定形状如(m, n, k),则生成m * n * k个样本。如果未指定,则返回单个值。
  • dtype:输出的数据类型,可选。
numpy.random.randint(low, high=None, size=None, dtype='l')
1.1.2 实践操作

下面的代码示例展示了如何使用numpy.random.randint生成随机整数:

import numpy as np# 生成一个介于0到9之间的随机整数
random_int = np.random.randint(10)
print("生成的随机整数:", random_int)# 生成一个介于1到10之间的随机整数
random_int_1_to_10 = np.random.randint(1, 11)
print("生成的1到10之间的随机整数:", random_int_1_to_10)# 生成一个形状为(3, 3)的随机整数数组,每个元素介于0到9之间
random_array = np.random.randint(10, size=(3, 3))
print("生成的随机整数数组:\n", random_array)
1.2 生成随机浮点数

除了生成随机整数,Numpy还提供了生成随机浮点数的方法。numpy.random.rand函数可以生成0到1之间的随机浮点数,而numpy.random.uniform函数则允许用户指定生成随机浮点数的范围。

1.2.1 理论知识

numpy.random.rand函数的基本语法如下:

  • d0, d1, …, dn:输出的形状。如果未指定,则返回单个值。
numpy.random.rand(d0, d1, ..., dn)

numpy.random.uniform函数的基本语法如下:

  • low:生成随机数的最小值(包含)。
  • high:生成随机数的最大值(不包含)。
  • size:输出的形状。如果未指定,则返回单个值。
numpy.random.uniform(low=0.0, high=1.0, size=None)
1.2.2 实践操作

下面的代码示例展示了如何使用numpy.random.rand和numpy.random.uniform生成随机浮点数:

import numpy as np
# 生成一个介于0到1之间的随机浮点数
random_float = np.random.rand()
print("生成的随机浮点数:", random_float)# 生成一个形状为(3, 3)的随机浮点数数组,每个元素介于0到1之间
random_float_array = np.random.rand(3, 3)
print("生成的随机浮点数数组:\n", random_float_array)# 生成一个介于1.0到5.0之间的随机浮点数
random_uniform = np.random.uniform(1.0, 5.0)
print("生成的1.0到5.0之间的随机浮点数:", random_uniform)# 生成一个形状为(3, 3)的随机浮点数数组,每个元素介于1.0到5.0之间
random_uniform_array = np.random.uniform(1.0, 5.0, size=(3, 3))
print("生成的1.0到5.0之间的随机浮点数数组:\n", random_uniform_array)
1.3 从特定分布中抽样

Numpy还提供了从各种概率分布中抽样的方法,例如正态分布、泊松分布等。这些方法在统计学和机器学习中非常有用。

1.3.1 理论知识

numpy.random.normal函数可以从正态分布中抽样。其基本语法如下:

loc:分布的均值。
scale:分布的标准差。
size:输出的形状。如果未指定,则返回单个值。

numpy.random.normal(loc=0.0, scale=1.0, size=None)

numpy.random.poisson函数可以从泊松分布中抽样。其基本语法如下:

lam:泊松分布的参数λ。
size:输出的形状。如果未指定,则返回单个值。

numpy.random.poisson(lam=1.0, size=None)
1.3.2 实践操作

下面的代码示例展示了如何使用numpy.random.normal和numpy.random.poisson从特定分布中抽样:

import numpy as np
# 从均值为0,标准差为1的正态分布中生成一个随机数
normal_sample = np.random.normal(0, 1)
print("从正态分布中生成的随机数:", normal_sample)# 从均值为0,标准差为1的正态分布中生成一个形状为(3, 3)的随机数数组
normal_array = np.random.normal(0, 1, size=(3, 3))
print("从正态分布中生成的随机数数组:\n", normal_array)# 从参数为5的泊松分布中生成一个随机数
poisson_sample = np.random.poisson(5)
print("从泊松分布中生成的随机数:", poisson_sample)# 从参数为5的泊松分布中生成一个形状为(3, 3)的随机数数组
poisson_array = np.random.poisson(5, size=(3, 3))
print("从泊松分布中生成的随机数数组:\n", poisson_array)

1. Numpy入门:数组操作与科学计算基础
2. Numpy入门:多平台安装与基础环境配置
3. Numpy数组创建与应用入门
4. Numpy数组属性入门:形状、维度与大小
5. Numpy数组索引与切片入门
6. Numpy数组操作入门:合并、分割与重塑
7. Numpy数学函数入门与实践
8. Numpy数据分析基础:统计函数应用
9. Numpy随机数生成入门
10. Numpy线性代数基础与实践
11. Numpy文件操作入门:数组数据的读取与保存
12. Numpy广播机制入门与实践
13. Numpy布尔索引与花式索引实战
14. Numpy高效数据处理与优化
15. Numpy数据分析与图像处理入门

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

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

相关文章

使用 C# 通过 .NET 框架开发应用程序的安装与环境配置

文章目录1. .NET介绍2. IDE2.1 Rider 安装2.2 Visual Studio 安装3. SDK安装与环境配置3.1 单独下载安装 .NET SDK3.2 Visual Studio 工作负荷安装SDK4. 相关问题4.1 我以前使用 Unity 写 C# 脚本不需要额外的编译器,为什么现在需要?1. .NET介绍 .NET 是…

Scikit-learn - 机器学习库初步了解

目录1. 主要算法分类1.1 监督学习 (Supervised Learning)1.2 非监督学习 (Unsupervised Learning)1.3 半监督学习 (Semi-Supervised Learning)1.4 强化学习 (Reinforcement Learning)1.5 遗传算法 (Genetic Algorithm)2. 选择合适的机器学习模型2.1 分类 (Classification)2.2 回…

关于 idea 里 properties 文件的中文乱码问题

背景 你会发现 properties 文件里的中文可能会出现乱码。 这个因为 properties 规范是使用 iso-8859-1 存储的,不支持中文(也不支持西欧里法语、德语里奇怪的字母) properties 的标准制定于很早,所以没考虑这么多,prop…

BVH文件 解析 解读的python第三方类库 推荐

我们面临多个第三方库选项用于解析BVH文件,根据您的列表,我将分析几个关键库的特点,并推荐最适合当前任务的库。我们将基于以下标准进行选择: ​​功能性​​:是否能准确解析关节角度数据,支持关键帧操作 ​…

uni-app X能成为下一个Flutter吗?

哈喽,我是老刘 老刘使用Flutter作为客户端主要技术栈的这六七年的时间里,关于跨平台开发的争议和新技术始终没有停过。 “一套代码,多端运行”——这个让无数开发者心动的承诺,究竟是技术革命还是美丽的谎言? 想象一…

Spring Cloud Gateway全栈实践:动态路由能力与WebFlux深度整合

一、为什么需要下一代网关? 传统网关的三大瓶颈: #mermaid-svg-Kdei9Io6KntYGQc4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Kdei9Io6KntYGQc4 .error-icon{fill:#552222;}#mermaid-svg-…

MongoDB数据存储界的瑞士军刀:cpolar内网穿透实验室第513号挑战

软件名称:MongoDB 操作系统支持:Linux、Windows、macOS(Docker版全平台通用!) 软件介绍: MongoDB是一个基于分布式架构的NoSQL数据库,擅长处理复杂数据类型(如嵌套对象、数组&…

SPI TFT全彩屏幕驱动开发及调试

简介SPI(Serial Peripheral Interface)是一种广泛使用的串行通信协议,常用于微控制器(MCU)与外围设备(如传感器、显示屏、存储器等)之间的通信。SPI具有全双工传输、主从结构和较高的传输速率&a…

Linux学习—数据结构(链表2)

1.单向链表6.链表的查找在链表中找到指定的第一个元素沿用遍历思想,每次访问一个节点元素判断是否为要找的节点符合条件返回该节点地址到最后没有找到符号条件的节NULLlinknode *find_linklist(linknode *phead, datatype tmpdata) {linknode *ptmpnode NULL;ptmpn…

MySQL 备份利器 Xtrabackup 全解析:从部署到恢复的实战指南

数据库备份恢复是 DBA 的 “保命” 技能,生产业务不仅要保证有合适的备份策略,也要定期验证备份的有效性和恢复演练流程,因为数据恢复和验证可能会涉及多方合作,演练可以让灾难真正发生时,多方配合有条不紊的将数据恢复…

EAGLE-2:通过动态草稿树加速语言模型推理

温馨提示: 本篇文章已同步至"AI专题精讲" EAGLE-2:通过动态草稿树加速语言模型推理 摘要 现代 Large Language Models(LLMs)的推理过程既昂贵又耗时,而 speculative sampling 已被证明是一种有效的解决方案…

防水防尘防摔性能很好的智能三防手机,还有22000mAh大电池

在电力巡检的崇山峻岭间,在野外地质勘探的风沙深处,在应急救援的急风骤雨里,传统智能设备因其固有的脆弱性与续航短板往往力不从心,甚至成为保障工作连续性的掣肘。而真正的智能三防手机应是一堵移动的堡垒,集坚不可摧…

Charles中文版抓包工具使用指南 提高API调试和网络优化效率

在现代开发过程中,调试API、捕获HTTP/HTTPS流量和优化应用的网络性能已经成为开发者的常见任务。尤其是在调试复杂的API接口和分析网络请求时,开发者需要一款高效且功能强大的工具。Charles抓包工具凭借其强大的网络调试功能和易用的操作界面&#xff0c…

【C#补全计划:类和对象(九)】接口

一、接口的概念1. 概念:接口是行为的抽象规范,也是一种自定义类型2. 接口声明规范:(1)不包含成员变量(2)只包含属性、方法、索引器、事件(3)成员不能被实现(4…

SRS简介及简单demo

SRS介绍 SRS(Simple Realtimes Server)是一款开源的实时流媒体服务器,专注于解决直播、实时互动等场景的流媒体传输问题。SRS 的设计目标是 “简单、稳定、高效”,专门针对实时流媒体协议(如 RTMP、HLS、HTTP-FLV、WebRTC 等)进行优化,专注于解决 “低延迟、高并发” 的…

python基础:数据解析BeatuifulSoup,不需要考虑前端形式的一种获取元素的方法

1.beatuifulSoup 基本用法 beautifulSoup(简称bs4)是python的一个第三方库,用于解析html和xml文档中提取数据的python库。它能够将复杂的文档转化为树形结构,方便快速定位和提取所需数据以及查找和修改,常常与爬虫框架…

Ubuntu共享文件夹权限设置

在Ubuntu中设置共享文件夹的权限(只读、读写、无权限),主要通过两种方式实现:‌文件系统权限‌和‌Samba共享配置‌。以下是详细步骤:‌一、文件系统权限设置(基础权限)‌1. ‌修改文件夹所有权…

小程序点击菜单栏实现样式动态切换

小程序点击菜单栏背景样式动态切换 前言:今天做一个小程序项目,要做一个菜单栏动态切换的功能,因为这种需求很常见,这次干脆记录一下,帮助别人的同时,自己下次也可以直接照搬使用。 效果截图如下&#xff1…

掌握工程化固件烧录,开启你的技术进阶之路-FPGA ISE(xilinx)

1、电脑需先行安装ISE14.7。若已完成安装,此步骤可略过;若尚未安装,在后续章节会介绍如何安装ISE,由于ISE14.7的安装程序体量庞大,可借助U盘进行传输。同时,电脑需预留至少30G的存储空间以用于安装该程序。…

Android 之 面试八股文

​1.Activity生命周期​​​​问题​​:描述Activity从启动到销毁的完整生命周期方法,并说明onSaveInstanceState()的调用时机。​​参考答案​​:onCreate()→ onStart()→ onResume()(活跃状态) → onPause()&#x…