当前位置: 首页 > news >正文

菜鸟笔记-Numpy函数-full/random.randint/random.choice

full函数

numpy.full 是 NumPy 库中的一个函数,它用于创建一个具有指定形状、数据类型和填充值的数组。此函数非常有用,因为它允许你快速生成一个具有相同值的数组,而无需手动设置每个元素。

1函数介绍

numpy.full(shape, fill_value, dtype=None, order='C')

  • shape: 数组的形状,可以是一个整数或整数元组。
  • fill_value: 用于填充数组的值。
  • dtype: 数组的数据类型。如果未指定,则将从 fill_value 中推断数据类型。
  • order: 指定数组在内存中的存储顺序。'C' 表示 C 风格的顺序(行优先),'F' 表示 Fortran 风格的顺序(列优先),'A' 表示原始顺序,'K' 表示元素在内存中的出现顺序。

2示例

示例 1:创建一维数组

import numpy as np  # 创建一个长度为 5 的一维数组,所有元素的值都是 7  
arr = np.full(5, 7)  
print(arr)

 结果输出:

[7 7 7 7 7]

示例 2:创建二维数组

import numpy as np  # 创建一个 2x3 的二维数组,所有元素的值都是 10  
arr = np.full((2, 3), 10)  
print(arr)

输出结果:

[[10 10 10]
 [10 10 10]]

示例 3:指定数据类型

import numpy as np  # 创建一个长度为 3 的一维数组,所有元素的值都是 3.14,数据类型为 float  
arr = np.full(3, 3.14, dtype=float)  
print(arr)

输出结果:

[3.14 3.14 3.14]

import numpy as nparr = np.full_like([[1,2,3],[4,5,6]],8)
print(arr)

输出结果:

[[8 8 8]
 [8 8 8]]

import numpy as nparr = np.full_like([[1,2,3],[4,5,6]],[7,8,9])
print(arr)

 [[7 8 9]
 [7 8 9]]

import numpy as nparr = np.full_like([[1,2,3],[4,5,6]],[[7],[8]])
print(arr)

输出结果:

[[7 7 7]
 [8 8 8]]
 

3注意点

  • numpy.full 与 numpy.zeros 和 numpy.ones 有些相似,但 numpy.full 允许你指定填充值,而不仅仅是 0 或 1。
  • 在使用 numpy.full 时,请确保你明确知道 fill_value 的数据类型,以避免不必要的数据类型转换。

random.randint函数

numpy.random.randint 是 NumPy 库中用于生成随机整数的函数。这个函数允许你指定一个范围(包括开始和结束值),然后返回在这个范围内均匀分布的随机整数。

1函数介绍

numpy.random.randint(low, high=None, size=None, dtype='l')

  • low:生成的随机整数的最小值(包含)。
  • high:生成的随机整数的最大值(不包含)。如果未指定,则 high 将被设置为 low 的值,且函数将返回一个等于 low 的随机整数。
  • size:输出的形状。如果提供了,则输出将是给定形状的数组。默认是 None,表示返回一个标量。
  • dtype:输出数组的数据类型。默认是 np.int(通常是 np.int32 或 np.int64,取决于平台)。

2示例

示例 1:生成单个随机整数

import numpy as np  # 生成一个介于 0(包含)和 10(不包含)之间的随机整数  
random_int = np.random.randint(0, 10)  
print(random_int)

输出结果:

4【输出可能是 0 到 9 之间的任意一个整数。】

示例 2:生成一个随机整数数组

import numpy as np  # 生成一个形状为 (3,) 的数组,包含介于 0 和 10 之间的随机整数  
random_ints = np.random.randint(0, 10, size=(3,))  
print(random_ints)

输出结果类似于:

[5 1 1]

示例 3:生成一个一维随机整数数组

import numpy as nprandom_ints_2d = np.random.randint([3,5,7],10)
print(random_ints_2d)

#生成3个随机数,一维数组,分别介于[3,10)、[5,10)、[7,10)之间

类似结果于:

[8 8 9]

例:

import numpy as nprandom_ints_2d = np.random.randint(3,[10,100,5])
print(random_ints_2d)

#生成3个随机数,一维数组,分别介于[3,10)、[3,100)、[3,5)之间

类似结果于:

[ 5 41  4]

例:

import numpy as nprandom_ints_2d = np.random.randint([3,50,1],[10,100,5])
print(random_ints_2d)

#生成3个随机数,一维数组,分别介于[3,10)、[50,100)、[1,5)之间 

类似结果于:

[ 9 96  1]

示例4:生成一个二维随机整数数组

import numpy as np  # 生成一个形状为 (2, 3) 的二维数组,包含介于 0 和 10 之间的随机整数  
random_ints_2d = np.random.randint(0, 10, size=(2, 3))  
print(random_ints_2d)

输出结果类似于:

[[2 9 0]
 [3 3 9]]

3注意点

  • numpy.random.randint 返回的整数是均匀分布的,即在给定范围内,每个整数被选中的概率是相同的。
  • 如果你只提供一个参数给 numpy.random.randint,那么它会被当作 high 参数,而 low 默认为 0。例如,np.random.randint(5) 将返回一个介于 0(包含)和 5(不包含)之间的随机整数。
  • 生成的随机整数是伪随机数,它们是由一个确定的算法生成的,因此每次你运行相同的代码时,如果随机数生成器的种子没有改变,你将得到相同的随机序列。

random.choice

 numpy.random.choice 用于从给定的一维数组或数字序列中随机选择元素。这个函数在需要随机抽样时非常有用,无论是从一组数值中还是从一个更复杂的一维数组(如字符串列表或对象数组)中。

1函数介绍

numpy.random.choice(a, size=None, replace=True, p=None)

参数解释

  1. a
    • 类型:1-D array-like or int。
    • 描述:如果 a 是一个整数,则定义从 0 到 a-1(小于a的非负整数) 的整数数组。如果 a 是一个数组,则从 a 中随机抽取元素。
  2. size
    • 类型:整数或整数元组(可选)。
    • 描述:输出数组的形状。如果提供了形状,则函数将返回一个指定形状的数组,其中每个元素都是从 a 中随机选择的。如果未指定(默认为 None),则返回一个标量。
  3. replace
    • 类型:布尔值(可选)。
    • 描述:是否允许替换。如果 True(默认值),则抽取的元素可以重复出现。如果 False,则抽取的元素不会重复出现,直到所有元素都被抽取。
  4. p
    • 类型:1-D array-like(可选)。
    • 描述:与 a 形状相同的序列,用于指定每个元素被抽取的概率。如果没有提供,则假定所有元素具有相同的抽取概率。

返回值

  • 类型:ndarray。
  • 描述:从 a 中随机抽取的数组,其形状由 size 参数指定。

2示例

示例 1:从整数范围中随机选择

import numpy as np  # 从 0 到 4(包含)中随机选择一个整数  
choice = np.random.choice(5)  
print(choice)

输出结果类似于:

1

例:

import numpy as npabc=np.random.choice(5,10)
print(abc)

从小于5的非负整数中随机选择10个

输出结果类似于:

[2 4 3 2 0 0 0 3 0 0]

例:

import numpy as npabc=np.random.choice([80,70,60,10,50,40],(3,5))
print(abc)

 从指定的数据中随机选择15个,输出结果类似于:

[[70 80 40 60 40]
 [70 60 40 80 40]
 [50 80 40 60 70]]

示例 2:从数组中随机选择元素

import numpy as np  # 创建一个数组  
arr = np.array(['apple', 'banana', 'cherry'])  # 从数组中随机选择一个元素  
choice = np.random.choice(arr)  
print(choice)

输出结果类似于:

apple

示例 3:随机选择多个元素(不替换)

import numpy as np  # 创建一个数组  
arr = np.array([1, 2, 3, 4, 5])  # 从数组中随机选择 3 个不重复的元素  
choices = np.random.choice(arr, size=3, replace=False)  
print(choices)

输出结果类似于:

[3 1 2]

示例 4:使用自定义概率进行随机选择

import numpy as np  # 创建一个数组  
arr = np.array(['a', 'b', 'c', 'd'])  # 定义每个元素被选择的概率  
probs = np.array([0.1, 0.1, 0.6, 0.2])  # 根据定义的概率从数组中随机选择一个元素  
choice = np.random.choice(arr, p=probs)  
print(choice)

结果输出类似于:

d

3注意事项

  • 当 replace 为 False 时,如果 a 中的元素数量小于 size,则 numpy.random.choice 函数将引发一个 ValueError,因为无法在不替换的情况下抽取足够的唯一元素。
  • p 参数必须与 a 的形状相匹配,并且所有概率之和必须为 1。如果未提供 p,则假定所有元素的选择概率相等。
  • numpy.random.choice 返回的数组的数据类型与 a 的数据类型相同(或兼容)。

相关文章:

菜鸟笔记-Numpy函数-full/random.randint/random.choice

full函数 numpy.full 是 NumPy 库中的一个函数,它用于创建一个具有指定形状、数据类型和填充值的数组。此函数非常有用,因为它允许你快速生成一个具有相同值的数组,而无需手动设置每个元素。 1函数介绍 numpy.full(shape, fill_value, dty…...

蓝桥杯每日一题:牛的学术圈I(二分,双指针)

由于对计算机科学的热爱,以及有朝一日成为 「Bessie 博士」的诱惑,奶牛 Bessie 开始攻读计算机科学博士学位。 经过一段时间的学术研究,她已经发表了 N篇论文,并且她的第 i 篇论文得到了来自其他研究文献的 ci次引用。 Bessie 听…...

fping命令

fping是一个用于网络扫描的工具,它可以在 Linux 系统上使用。fping可以发送 ICMP ECHO_REQUEST(即 ping)数据包到指定的网络地址范围,并等待响应。通过这种方式,fping可以用来检测哪些 IP 地址是活跃的。 可以测试多个…...

奇富科技推出新一代全自研智能语音模型,打破沟通壁垒

“您好!请问是李先生噻?” 李先生刚接起电话,就被这熟悉的乡音逗乐了。这不是他所预料的常规客服,而是奇富科技新一代全自研智能语音模型——QI语精灵。这款模型不仅能用方言与人自然交流,还能在智能营销、贷后提醒、风…...

穿越代码之海:探寻结构体深层逻辑,展望未来应用新天地

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看,已成习惯 创作不易,多多支持! 结构体作为一种数据结构,其定义和特点决定了它在各种应用中的广泛适用性。随着科技的进步和新兴行业的不断涌现&#xf…...

layui框架实战案例(26):layui-carousel轮播组件添加多个Echarts图标的效果

在Layui中,使用layui-carousel轮播组件嵌套Echarts图表来实现多个图表的展示。 css层叠样式表 调整轮播图背景色为白色;调整当个Echarts图表显示loading…状态;同一个DIV轮播项目添加多个Echarts的 .layui-carousel {background-color: #f…...

Unity开发一个FPS游戏之三

在前面的两篇博客中,我已实现了一个FPS游戏的大部分功能,包括了第一人称的主角运动控制,武器射击以及敌人的智能行为。这里我将继续完善这个游戏,包括以下几个方面: 增加一个真实的游戏场景,模拟一个废弃的…...

NIUSHOP完美运营版商城 虚拟商品全功能商城 全能商城小程序 智慧商城系统 全品类百货商城

完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城 干干净净 没有一丝多余收据 还没过手其他站 还没乱七八走的广告和后门 后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 挺不错的一套源码 前端UNIAPP 后端PHP 一键部署版本 源码免费…...

vue2开发好还是vue3开发好vue3.0开发路线

Vue 2和Vue 3都是流行的前端框架,它们各自有一些特点和优势。选择Vue 2还是Vue 3进行开发,主要取决于你的项目需求、团队的技术栈、以及对新特性的需求等因素。以下是一些关于Vue 2和Vue 3的比较,帮助你做出决策: Vue 2&#xff1…...

爬虫 新闻网站 并存储到CSV文件 以红网为例 V2.0 (控制台版)升级自定义查询关键词、时间段,详细注释

爬虫:红网网站, 获取指定关键词与指定时间范围内的新闻,并存储到CSV文件 V2.0(控制台版) 爬取目的:为了获取某一地区更全面的在红网已发布的宣传新闻稿,同时也让自己的工作更便捷 对比V1.0升级的…...

JavaSE-11笔记【多线程2(+2024新)】

文章目录 6.线程安全6.1 线程安全问题6.2 线程同步机制6.3 关于线程同步的面试题6.3.1 版本16.3.2 版本26.3.3 版本36.3.4 版本4 7.死锁7.1 多线程卖票问题 8.线程通信8.1 wait()和sleep的区别?8.2 两个线程交替输出8.3 三个线程交替输出8.4 线程通信-生产者和消费者…...

WebKit是什么?

WebKit是一个开源的浏览器引擎,它用于呈现网页内容在许多现代浏览器中,包括Safari浏览器、iOS内置浏览器、以及一些其他浏览器如Google Chrome的早期版本。以下是一些关于WebKit的重要信息: 起源和发展:WebKit最初是由苹果公司为其…...

谷歌(Google)历年编程真题——接雨水

谷歌历年面试真题——数组和字符串系列真题练习。 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:…...

golang 归并回源策略

前言 下面是我根据业务需求画了一个架构图,没有特别之处,很普通,都是我们常见的中间件,都是一些幂等性GET 请求。有一个地方很有意思,从service 分别有10000 qps 请求到Redis,并且它们的key 是一样的。这样…...

【漏洞复现】可视化融合指挥调度平台 dispatch接口处存在任意文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...

最讨厌这种字符串问题了!!

题目:洛谷P1957口算练习题 题目大意描述: 第一行输入一个整数表示接下来要进行多少次运算,接下来每行输入一个字母c和两个数字x,y(输入的字母为a/b/c,分别表示要进行,-,*运算)或者就输入两个数…...

B-名牌赌王(本人遇到的题,做个笔记)

题解&#xff1a; #include <iostream> #include <queue> //需要用小根堆的优先队列 #include <unordered_map> //用无序映射 using namespace std; bool pai() {int n, m;cin >> n >> m; priority_queue<int, vector<int>, gr…...

博客评论回复03

接着之前写的&#xff0c;之前返回的数据集按道理来说渲染出来还是丑丑的&#xff0c;因此这次我看着抖音的评论样子&#xff0c;自己瞎写了一通&#xff0c;不过也算是模仿出来了虽然肯定没有抖音写的好。 类似与前面几章写的表结构 首先看看抖音评论区是怎么样的&#xff1f…...

【【萌新的学习之Numpy数组的使用】】

萌新的学习之Numpy数组的使用 先记录一下之前的关于函数的设计 通过创造类的形式 复习完毕之后介绍numpy数组的使用 #整数型数组遇到除法 &#xff08;即便是除以整数&#xff09; 不同维度的数组之间 从外形上的本质区别 一维数组用1层中括号 二维数组用2层中括号 三维数…...

RabbitMQ3.13.x之七_RabbitMQ消息队列模型

RabbitMQ3.13.x之七_RabbitMQ消息队列模型 文章目录 RabbitMQ3.13.x之七_RabbitMQ消息队列模型1. RabbitMQ消息队列模型1. 简单队列2. Work Queues(工作队列)3. Publish/Subscribe(发布/订阅)4. Routing(路由)5. Topics(主题)6. RPC(远程过程调用)7. Publisher Confirms(发布者…...

Android JNI 调用第三方SO

最近一个项目使用了Go 编译了一个so库&#xff0c;但是这个so里面还需要使用第三方so库pdfium, 首先在Android工程把2个so库都放好 在jni中只能使用dlopen方式&#xff0c;其他的使用函数指针的方式来调用&#xff0c;和windows dll类似&#xff0c;不然虽然编译过了但是会崩溃…...

Vid2seq

Vid2Seq 应该是目前为止,个人最中意得一篇能够实际解决对一段视频进行粗略理解得paper了。个人认为它能够真正能解决视频理解是因为它是对一个模型整体做了训练,而不仅仅是通过visual encoders(e.g BLIP/CLIP/…)和 其它multi modal 的encoder直接过了个projection,做一个…...

Opencv人机交互界面设置

Opencv人机交互界面设置 以下是一些常见的OpenCV人机交互界面设置&#xff1a; 窗口交互 显示窗口&#xff1a;可以使用cv2.imshow()函数在屏幕上显示图像。例如&#xff0c;要显示名为“image”的图像&#xff0c;可以使用以下代码&#xff1a; import cv2img cv2.imread…...

蓝桥杯算法心得——字典树考试(贡献度+前缀和)

大家好&#xff0c;我是晴天学长&#xff0c;贡献度的题&#xff0c;找到技巧非常重要&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .字典树考试 字典树考试 问题描述 蓝桥学院最近教学了字典树这一数…...

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序&#xff0c;得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时&#xff0c;假如在windows&#xff0c;当软件崩溃时&#xff0c;…...

Go语言中测试和性能

1. 测试:软件开发最重要的方面 测试软件程序可能是软件开发人员能够做的最重要的事情。通过测试代码的功能,开发人员能够在很大程度上确定程序是有效的。另外,每次修改代码后,开发人员都可运行测试,确认没有引入Bug和衰退。通过测试软件,还能够让软件工程师确认程序按期望…...

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测 目录 回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基于CPO-GPR基于冠豪猪算法优化高斯…...

python 日期字符串转换为指定格式的日期

在Python编程中&#xff0c;日期处理是一个常见的任务。我们经常需要将日期字符串转换为Python的日期对象&#xff0c;以便进行日期的计算、比较或其他操作。同时&#xff0c;为了满足不同的需求&#xff0c;我们还需要将日期对象转换为指定格式的日期字符串。本文将详细介绍如…...

day03-Docker

1.初识 Docker 1.1.什么是 Docker 1.1.1.应用部署的环境问题 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会碰到一些问题&#xff1a; 依赖关系复杂&#xff0c;容易出现兼容性问题开发、测试、生产环境有差异 例如一个项目中&#xff0c;部署时需要依…...

C语言函数实现冒泡排序

前言 今天我们来看看怎么使用函数的方式实现冒泡排序吧&#xff0c;我们以一个数组为例arr[] {9,8,7,6,5,4,3,2,1,0},我们将这个数组通过冒泡排序的方式让他变为升序吧。 代码实现 #include<stdio.h> void bubble_sort(int arr[], int sz) {int i 0;for (i 0;i < s…...

wordpress退出登录/学seo优化

1.什么是单例模式&#xff1f; 它的核心在于&#xff0c;单例模式可以保证一个类仅创建一个实例&#xff0c;并提供一个访问它的全局访问点。 该模式有三个基本要点&#xff1a; 一是这个类只能有一个实例&#xff1b; 二是它必须自行创建这个实例&#xff1b; 三是它必须…...

服务号不认证可做微网站吗/百度大数据平台

前言 现在很多App里都内置了Web网页&#xff08;Hyprid App&#xff09;&#xff0c;比如说很多电商平台&#xff0c;淘宝、京东、聚划算等等&#xff0c;如下图那么这种该如何实现呢&#xff1f;其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用…...

高新园区规划建设局网站/网店推广方式

给apache安装php扩展&#xff1a; sudo apt-get install libapache2-mod-php 注&#xff1a;这是apache解析php文件的关键&#xff0c;光修改配置文件不安装扩展是不起作用的。 目录位置&#xff1a;/etc/apache2/apache2.conf<Directory /home/menco/workplace># Rew…...

福建网站建设公司排名/营销战略

转 量化对冲策略在国内的实践历程https://blog.csdn.net/myquant/article/details/860004532010年以前&#xff0c;国内股票市场一直缺乏做空机制&#xff0c;系统性风险的管理工具或者品种的缺失&#xff0c;使得绝对收益目标一直难以成为资产管理行业的首要目标。2010年4月&a…...

加强统筹推进政府网站建设/app制作公司

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;要想自己设计并实现一个代码自动分析、优化和…...

wordpress设置url/免费发布推广信息的平台

深入浅出 Runtime详解Runtime是什么&#xff1f;运行时(Runtime)是指将数据类型的确定由编译时推迟到了运行时Runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API平时编写的OC代码&#xff0c;在程序运行过程中&#xff0c;其实最终会转换成Runtime…...