Numpy入门(2)—随机数
随机数np.random
主要知识点:
- 创建ndarray随机数组
- 随机打乱ndarray元素顺序
- 随机选取元素
2.1 创建随机ndarray数组
创建随机ndarray数组主要包含设置随机种子、均匀分布和正态分布三部分内容,具体代码如下所示。
- 设置随机数种子
# 可以多次运行,观察程序输出结果是否一致
# 如果不设置随机数种子,观察多次运行输出结果是否一致
np.random.seed(10)
a = np.random.rand(3, 3)
a
array([[0.77132064, 0.02075195, 0.63364823], [0.74880388, 0.49850701, 0.22479665], [0.19806286, 0.76053071, 0.16911084]])
- 均匀分布
# 生成均匀分布随机数,随机数取值范围在[0, 1)之间
a = np.random.rand(3, 3)
a
array([[0.08833981, 0.68535982, 0.95339335], [0.00394827, 0.51219226, 0.81262096], [0.61252607, 0.72175532, 0.29187607]])
# 生成均匀分布随机数,指定随机数取值范围和数组形状
a = np.random.uniform(low = -1.0, high = 1.0, size=(2,2))
a
array([[ 0.83554825, 0.42915157], [ 0.08508874, -0.7156599 ]])
- 正态分布
# 生成标准正态分布随机数
a = np.random.randn(3, 3)
a
array([[ 1.484537 , -1.07980489, -1.97772828], [-1.7433723 , 0.26607016, 2.38496733], [ 1.12369125, 1.67262221, 0.09914922]])
# 生成正态分布随机数,指定均值loc和方差scale
a = np.random.normal(loc = 1.0, scale = 1.0, size = (3,3))
a
array([[2.39799638, 0.72875201, 1.61320418], [0.73268281, 0.45069099, 1.1327083 ], [0.52385799, 2.30847308, 1.19501328]])
2.2 随机打乱ndarray数组顺序
- 随机打乱1维ndarray数组顺序,发现所有元素位置都被打乱了,代码如下所示。
# 生成一维数组
a = np.arange(0, 30)
print('before random shuffle: ', a)
# 打乱一维数组顺序
np.random.shuffle(a)
print('after random shuffle: ', a)
('before random shuffle: ', array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]))
('after random shuffle: ', array([10, 21, 26, 7, 0, 23, 2, 17, 18, 20, 12, 6, 9, 3, 25, 5, 13,
14, 24, 29, 1, 28, 11, 15, 27, 16, 19, 4, 22, 8]))
随机打乱2维ndarray数组顺序,发现只有行的顺序被打乱了,列顺序不变,代码如下所示。
# 生成一维数组
a = np.arange(0, 30)
# 将一维数组转化成2维数组
a = a.reshape(10, 3)
print('before random shuffle: \n{}'.format(a))
# 打乱一维数组顺序
np.random.shuffle(a)
print('after random shuffle: \n{}'.format(a))
before random shuffle:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]
[15 16 17]
[18 19 20]
[21 22 23]
[24 25 26]
[27 28 29]]
after random shuffle:
[[15 16 17]
[12 13 14]
[27 28 29]
[ 3 4 5]
[ 9 10 11]
[21 22 23]
[18 19 20]
[ 0 1 2]
[ 6 7 8]
[24 25 26]]
2.3 随机选取元素
# 随机选取部分元素
a = np.arange(30)
b = np.random.choice(a, size=5)
b
array([ 0, 24, 12, 5, 4])
代码合集
import numpy as npdef func1():# 可以多次运行,观察程序输出结果是否一致# 如果不设置随机数种子,观察多次运行输出结果是否一致np.random.seed(5)a = np.random.rand(3, 3)np.random.seed(None)print(a)# 生成均匀分布随机数,随机数取值范围在[0, 1)之间a = np.random.rand(3, 3)print(a)# 生成均匀分布随机数,指定随机数取值范围和数组形状a = np.random.uniform(low=-1.0, high=1.0, size=(2, 2))print(a)def func2():# 生成标准正态分布随机数print("正太分布:rand_n")a = np.random.randn(3, 3)print(a)# 生成正态分布随机数,指定均值loc和方差scalea = np.random.normal(loc=1.0, scale=1.0, size=(3))print(a)def func3():a = np.arange(0, 30)print('before random shuffle: ', a)np.random.shuffle(a)print("after random shuffle: ", a)# 转为二维的,10 * 3a = a.reshape(10, 3)print(a)np.random.shuffle(a)print(a)# 随机选取元素print("random choice")a = np.arange(30)a.reshape(10, 3)b = np.random.choice(a, size=5)print(b)if __name__ == "__main__":# func1()# func2()func3()相关文章:
Numpy入门(2)—随机数
随机数np.random 主要知识点: 创建ndarray随机数组随机打乱ndarray元素顺序随机选取元素 2.1 创建随机ndarray数组 创建随机ndarray数组主要包含设置随机种子、均匀分布和正态分布三部分内容,具体代码如下所示。 设置随机数种子 # 可以多次运行&am…...
ansible的playbook剧本
playbook剧本 PlayBook1.playbooks 本身由以下各部分组成2.示例:3.运行playbook补充参数: 4.定义、引用变量5.指定远程主机sudo切换用户6.when条件判断7.迭代8.Templates 模块1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量2…...
【03 英语语法:从句(名词从句、定语从句/形容词从句、状语从句/副词从句)】
从句 从句:名词从句、定语从句、状语从句(名定状名形副)1. 名词从句(名词):主语、宾语、表语、同位语、宾补▲名词从句的种类(按引导词): that、whether、疑问词 句子⑴…...
vue动态修改audio地址
问题:点击后替换url地址,实现了,但是播放器依旧没有反应。 解决:vue中动态替换只是替换了地址,并没有告诉audio标签是否要执行,执行什么操作。要load后才能让它知道,是在喊他,他需求…...
CF113A Grammar Lessons 题解
一道模拟题。 题目传送门 题目意思: 给你一个句子,让你检查这个句子的语法是否正确。(语法请自行在题目中查看) 思路: 就是模拟。依次判断这个句子是否符合每一条语法即可。但是细节很多就因为细节我错了好多次&…...
puzzle(0414)六边形拼图
目录 六边形拼图 简单 中等 困难 六边形拼图 taptap小游戏 简单 (3) (4) 中等 (3) (4) 困难 (2) (3) (4ÿ…...
回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测
回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于SAE堆叠自编辑器多输入单输出回归预测; 2.运行环…...
BEV感知实时构建路口拓扑 觉非科技基于MapTR的优化与实践
近期,觉非科技通过在车端与路端的大规模数据积累,基于MapTR(Map TRansformer)方法提出了创新与优化:①对车道信息的表达方式进行优化,并简化了模型结构;②在MapTR的基础上加入了地图先验信息&am…...
如何在TikTok“点火”?用时下最流行的工具解码赚钱
抖音电商飞速发展到今天,训练出一帮极具紧张感、高效性,和“数据特征”凸显的电商从业者。 注意,这里的"数据特征"不单单是数据分析、数据导向那么简单,而是被竟对、平台、市场的现实教育出来的“数据工具意识”。 “…...
set NOCOUNT on
SET NOCOUNT ON 是一条 SQL 语句,用于禁止在执行查询时返回受影响的行数消息。通常,当执行 INSERT、UPDATE、DELETE 等操作时,数据库会返回一个消息,表示受影响的行数。但在某些情况下,你可能希望禁用这些消息…...
垃圾回收机制
什么是内存泄漏? 内存泄漏是指程序中已经不再使用的内存却没有被正确释放或回收的情况。在编程中,当对象或数据不再被程序使用,但其所占用的内存空间没有被垃圾回收机制回收,就会导致内存泄漏。 内存泄漏可能会导致程序的内存消…...
Golang 程序性能优化利器 PGO 详解(一):简单介绍及使用
在软件开发过程中,性能优化是不可或缺的一部分。无论是在Web服务、数据处理系统还是实时通信中,良好的性能都是至关重要的。Golang 从1.20版版本开始引入的 Profile Guided Optimization(PGO)机制能够帮助更好地优化 Go 程序的性能…...
redis key操作的相关命令
目录 1、del key 2、dump key 3、exists key 4、expire key seconds 5、expireat key timestamp 6、pexpire key milliseconds 7、pexpireat key milliseconds-timestamp 8、keys pattern 9、move key db …...
WebRTC | 网络传输协议RTP与RTCP
目录 一、UDP与TCP 1. TCP 2. UDP 二、RTP 1. RTP协议头 (1)V(Version)字段 (2)P(Padding)字段 (3)X(eXtension)字段 &#x…...
160. 相交链表
题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交**:** 题目数据 保证 整个链式结构中不存在环。 注意,函…...
【MFC】12.双缓冲序列化机制-笔记
双缓冲 双缓冲在之前写字符雨的时候,已经简单介绍过,今天我们来写一个简单的程序来体会双缓冲机制 我们实现一个在屏幕上画直线的功能: 在类中添加变量,保存起点坐标和终点坐标: //定义一个容器,保存每…...
Linux 终端会话中,启动任务并放到后台运行
一、需求 linux要执行一个脚本,耗时很长,想要脚本在后台运行,用户注销或终端软件关闭时也可以继续运行。 二、实现 1、nohup命令 脚本在后台运行 nohup 是在 Linux 和类 Unix 系统中使用的一个命令,用于在后台运行程序&#x…...
软考笔记——10.项目管理
进度管理 进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标。 具体来说,包括以下过程: (1) 活动定义&#…...
算法与数据结构(二十四)最优子结构原理和 dp 数组遍历方向
注:此文只在个人总结 labuladong 动态规划框架,仅限于学习交流,版权归原作者所有; 本文是两年前发的 动态规划答疑篇open in new window 的修订版,根据我的不断学习总结以及读者的评论反馈,我给扩展了更多…...
Java Vue Uniapp MES生产执行管理系统
本MES系统是一款B/S结构、通用的生产执行管理系统,功能强大! 系统基于多年离散智造行业的业务经验组建,主要目的是为国内离散制造业的中小企业提供一个专业化、通用性、低成本的MES系统解决方案。 联系作者获取...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
