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

004:NumPy的应⽤-2

数组的运算
使⽤ NumPy 最为⽅便的是当需要对数组元素进⾏运算时,不⽤编写循环代码遍历每个元素,所有的运算都会⾃动的⽮量化(使⽤⾼效的、提前编译的底层代码来对数据序列进⾏数学操作)。简单的说就是,NumPy 中的数学运算和数学函数会⾃动作⽤于数组中的每个成员。
数组跟标量的运算
代码:
array35 = np.arange(1, 10)
print(array35 + 10)
print(array35 * 10)
输出:
[11 12 13 14 15 16 17 18 19]
[10 20 30 40 50 60 70 80 90]
数组跟数组的运算
代码:
array36 = np.array([1, 1, 1, 2, 2, 2, 3, 3, 3])
print(array35 + array36)
print(array35 * array36)
print(array35 ** array36)
输出:
[ 2 3 4 6 7 8 10 11 12]
[ 1 2 3 8 10 12 21 24 27]
[ 1 2 3 16 25 36 343 512 729]
通⽤⼀元函数
通⽤函数是对 ndarray 中的数据执⾏元素级运算的函数。你可以将其看做普通函数(接收⼀个标量值作为参数,返回⼀个标量值)的⽮量化包装器,如下所示。
代码:
print(np.sqrt(array35))
print(np.log2(array35))
输出:
[1. 1.41421356 1.73205081 2. 2.23606798 2.449489742.64575131 2.82842712 3. ]
[0. 1. 1.5849625 2. 2.32192809 2.58496252.80735492 3. 3.169925 ]
1:通⽤⼀元函数
通⽤⼆元函数
代码:
array37 = np.array([[4, 5, 6], [7, 8, 9]])
array38 = np.array([[1, 2, 3], [3, 2, 1]])
print(array37 ** array38)
print(np.power(array37, array38))
输出:
[[ 4 25 216][343 64 9]]
[[ 4 25 216][343 64 9]]
2:通⽤⼆元函数

 

 

 

⼴播机制
上⾯的例⼦中,两个⼆元运算的数组形状是完全相同的,我们再来研究⼀下,两个形状不同的数组是否可以直接做⼆元运算或使⽤⼆元函数进⾏运算,请看下⾯的例⼦。
代码:
array39 = np.array([[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]])
array40 = np.array([1, 2, 3])
array39 + array40
输出:
array([[1, 2, 3],[2, 3, 4],[3, 4, 5],[4, 5, 6]])
代码:
array41 = np.array([[1], [2], [3], [4]])
array39 + array41
输出:
array([[1, 1, 1],[3, 3, 3],[5, 5, 5],[7, 7, 7]])
通过上⾯的例⼦,我们发现形状不同的数组仍然有机会进⾏⼆元运算,但也绝对不是任意的数组都可以进⾏⼆元运算。简单的说,只有两个数组后缘维度相同或者其中⼀个数组后缘维度为1时,⼴播机制会被触发,⽽通过⼴播机制如果能够使两个数组的形状⼀致,才能进⾏⼆元运算。所谓后缘维度,指的是数组 shape 属性对应的元组中最后⼀个元素的值(从后往前数最后⼀个维度的值),例如,我们之前打开的图像对应的数组后缘维度为334列的⼆维数组后缘维度为4,⽽有5个元素的⼀维数组后缘维度为5。简单的说就是,后缘维度相同或者其中⼀个数组的后缘维度为1,就可以应⽤⼴播机制,沿着缺失或⼤⼩为1的维度重复数组元素;当两个数组的形状⼀致时,就满⾜了两个数组对应元素做运算的需求,如下图所示。

 

其他常⽤函数
除了上⾯讲到的函数外,NumPy 中还提供了很多⽤于处理数组的函数, ndarray 对象的很多⽅法也可以通过直接调⽤函数来实现,下表给出了⼀些常⽤的函数。
3NumPy其他常⽤函数

 

提示:上⾯的 resize 函数和 ndarray 对象的 resize ⽅法是有区别的, resize 函数在调整数组⼤⼩时会重复数组中的元素作为填补多出来的元素的值,⽽ ndarry 对象的 resize ⽅法是⽤0来填补多出来的元素。这些⼩细节不清楚暂时也不要紧,但是如果⽤到对应的功能了就要引起注意。
代码:

 

array42 = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
array43 = np.array([[4, 4, 4], [5, 5, 5], [6, 6, 6]])
np.hstack((array42, array43))
输出:
array([[1, 1, 1, 4, 4, 4],[2, 2, 2, 5, 5, 5],[3, 3, 3, 6, 6, 6]])

 

 

 

 

 

 

 

 

 

相关文章:

004:NumPy的应⽤-2

数组的运算 使⽤NumPy 最为⽅便的是当需要对数组元素进⾏运算时,不⽤编写循环代码遍历每个元素,所有的运算都会⾃动的⽮量化(使⽤⾼效的、提前编译的底层代码来对数据序列进⾏数学操作)。简单的说就是,NumPy 中的数学运…...

一文了解JAVA中同步、异步、阻塞和非阻塞

🏆今日学习目标: 🍀JAVA中同步、异步、阻塞和非阻塞 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加…...

查询股票交易日接口可以用C++实现查询当日成交吗?

用查询股票交易日接口可以自行查询各大交易网站或交易所的股票历史数据及行情数据&#xff0c;也可以用它 查询当日成交数据&#xff01; 接下来小编就来分享一下用C实现查询当日成交代码&#xff1a; std::cout << " 查询当日成交: category 3 \n"; categ…...

java中常见的json库以及对应的用法

一、常见的json库 1、Jackson: Jackson是一个高性能、灵活性强的JSON库&#xff0c;提供了丰富的API&#xff0c;支持JSON和XML的数据解析和生成。它支持对Java对象进行序列化和反序列化&#xff0c;可以处理复杂的JSON格式数据。 导入的依赖 https://mvnrepository.com/ &…...

德赛西威NAV75*-SV731*导航升级(凯立德J30)实战

一、前言&#xff1a;升级导航德赛西威&#xff08;2015年买的&#xff09;地图几年没升级过了&#xff08;之前自己折腾了一个&#xff09;之前的启动是DSA2013&#xff08;电子G已经无法升级数据文件了&#xff0c;本次只升级地图J30图资-凯立德&#xff09;主程序版本&#…...

[USACO2023-JAN-Bronze] T1 LEADERS 题解

一、题目描述Farmer John 有 N 头牛 (2≤N≤10^5)。 每头牛有对应的品种&#xff1a;Guernsey or Holstein. 按照惯例&#xff0c;这些牛站成一排&#xff0c;编号从1到N。在某一天&#xff0c;每头牛写了一个数字, 第i头牛写的数字Ei明确地表示了一个范围&#xff0c;表示范围…...

第二章:unity性能优化之drawcall优化-1

目录 前言&#xff1a; 一、什么是drawcall 二、如何合批 1、什么是合批&#xff1f; 2、静态批处理 1、什么是静态批处理&#xff1a; 2、静态合批的规则 3、动态批处理 4、GPU Instancing 1、GPU instancing的定义 2、编写支持GPU instancing Shader步骤 5、…...

【2341. 数组能形成多少数对】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个下标从 0 开始的整数数组 nums 。在一步操作中&#xff0c;你可以执行以下步骤&#xff1a; 从 nums 选出 两个 相等的 整数从 nums 中移除这两个整数&#xff0c;形成一个 数对 请你在 nu…...

[TPAMI‘21] Heatmap Regression via Randomized Rounding

paper: https://arxiv.org/pdf/2009.00225.pdf code: https://github.com/baoshengyu/H3R 总结&#xff1a;本文提出一套编解码方法&#xff1a; 编码&#xff1a;random-round整数化 激活点响应值表征小数部分&#xff0c;使得GT可以通过编码后的heatmap解码得到&#xff1b…...

pytorch下tensorboard使用[远程服务器]

** 1、安装tensorboard ** pip install tensorboard可以不安装tensorflow&#xff0c;后续会有提示&#xff1a; TensorFlow installation not found - running with reduced feature set. 但是没有影响。 2、创建环境&#xff0c;导出数据 这一步由代码中的writer完成。 …...

CentOS下安装Nginx的详细步骤

1.安装依赖&#xff1a;yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 2.下载Nginx安装包&#xff1a;wget -c https://nginx.org/download/nginx-1.18.0.tar.gz 3.解压,进入解压目录&#xff1a; tar -zxvf nginx-1.18.0.…...

CSS编码规范

本篇文章是基于王叨叨大佬师父维护的文档梳理的&#xff0c;有兴趣可以去看一下原文CSS编码规范。 其实不管是HTML也好&#xff0c;还是CSS也好&#xff0c;有些规范其实是共通的。 1. 命名 class的命名应该偏向语义化&#xff0c;不是为了样式而去命名&#xff0c;而是通过…...

Linux下makefile 编译项目

文章目录1、规划makefile编写2、makefile文件2.1、根目录下common.mk2.2、config.mk2.3、根目录makefile2.4、其他目录下1、规划makefile编写 a、根目录下放三个文件&#xff1a; 1、makefile&#xff1a;是咱们编译项目的入口脚本&#xff0c;编译项目从这里开始&#xff0c;…...

Linux磁盘查看,使用(分区、格式化、挂载)

目录 0、观察磁盘分区状态&#xff1a;lsblk、blkid、parted 0.1 lsblk列出系统上的所有磁盘列表 0.2 blkid列出设备的UUID等参数 0.3 parted列出磁盘的分区表类型与分区信息 1、磁盘分区&#xff1a;gdisk、fdisk 1.1 fdisk 2、磁盘格式化&#xff08;创建文件系统…...

走进WebGL

什么是 WebGL&#xff1f; WebGL 是一种跨平台、免版税的 API&#xff0c;用于在 Web 浏览器中创建 3D 图形。基于 OpenGL ES 2.0&#xff0c;WebGL 使用 OpenGL 着色语言 GLSL&#xff0c;并提供熟悉的标准 OpenGL API。因为它在 HTML5 Canvas 元素中运行&#xff0c;所以 We…...

Unity 中 Awake 和 Start 时机与 GameObject的关系

Awake和Start很相似&#xff0c;都是在脚本的初始阶段执行 但是有两点重要不同&#xff1a; Awake先执行Awake即便在脚本 disabled &#xff08;即enabled false&#xff09;时&#xff0c;也会执行&#xff0c;但是Start就不会执行了 对一个物体&#xff1a; 当初始没有激…...

1月份 GameFi 行业报告

Jan. 2023&#xff0c; DanielData Source&#xff1a; January Monthly GameFi Report在经历了艰难的一年之后&#xff0c;1 月是对加密货币市场最有利的月份。虽然可以说的大部分内容适用于其他看涨周期&#xff0c;但有几个统计数据令 1 月在区块链领域非常有趣。例如&#…...

JVM - 调优

目录 调什么,如何调 内存方面 线程方面 如何调优 调优的目标,策略和冷思考 JVM调优的目标 常见调优策略 JVM调优冷思考 调优经验与内存泄漏分析 JVM调优经验 内存泄露 调什么,如何调 内存方面 JVM需要的内存总大小各块内存分配&#xff0c;新生代、老年代、存活区选…...

flask配置https协议

感谢https://blog.csdn.net/qq_33934427/article/details/127456673&#xff0c;文中多有参考再实践一、要用https协议需要有ca证书&#xff0c;在windows10先下载windows版本openssl&#xff0c;地址如下https://share.weiyun.com/vfjVrMAb我是64位的选择下载完毕安装后配置环…...

Springboot 我随手封装了一个万能的导出excel工具,传什么都能导出

前言 如题&#xff0c;这个小玩意&#xff0c;就是不限制你查的是哪张表&#xff0c;用的是什么类。 我直接一把梭&#xff0c;嘎嘎给你一顿导出。 我知道&#xff0c;这是很多人都想过的&#xff0c; 至少我就收到很多人问过我这个类似的问题。 我也跟他们说了&#xff0c;但…...

OpenClaw快速体验:30分钟玩转Qwen3.5-9B基础自动化

OpenClaw快速体验&#xff1a;30分钟玩转Qwen3.5-9B基础自动化 1. 为什么选择OpenClawQwen3.5组合&#xff1f; 去年冬天第一次接触OpenClaw时&#xff0c;我正被重复性的文件整理工作困扰。作为技术博主&#xff0c;每天需要从十几个渠道收集行业动态&#xff0c;手动归类到…...

零成本实现3D模型跨平台迁移:Blender到Unreal Engine的无缝解决方案

零成本实现3D模型跨平台迁移&#xff1a;Blender到Unreal Engine的无缝解决方案 【免费下载链接】bl_datasmith Blender addon to export UE4 Datasmith format 项目地址: https://gitcode.com/gh_mirrors/bl/bl_datasmith 你是否曾遇到这样的困境&#xff1a;在Blender…...

5步打造企业级数字人创作平台:从本地化部署到场景落地全指南

5步打造企业级数字人创作平台&#xff1a;从本地化部署到场景落地全指南 【免费下载链接】Duix-Avatar 项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar 一、价值定位&#xff1a;数字人技术的企业级应用价值 核心价值&#xff1a;Duix.Avatar通过全本…...

TranslucentTB:轻量任务栏视觉增强工具,让Windows桌面颜值提升300%

TranslucentTB&#xff1a;轻量任务栏视觉增强工具&#xff0c;让Windows桌面颜值提升300% 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB …...

ESP8266 KiCAD库零基础上手:高效配置开源硬件设计工具指南

ESP8266 KiCAD库零基础上手&#xff1a;高效配置开源硬件设计工具指南 【免费下载链接】kicad-ESP8266 Schematic symbols and PCB footprints for ESP8266 modules 项目地址: https://gitcode.com/gh_mirrors/ki/kicad-ESP8266 在开源硬件设计领域&#xff0c;KiCAD库&…...

符号回归的工程化实践:基于深度学习的物理定律自动发现与工业部署

1. 符号回归&#xff1a;当深度学习遇见物理定律发现 第一次接触符号回归时&#xff0c;我被它的"反套路"特性惊艳到了——大多数深度学习模型都在努力变得更复杂&#xff0c;而它却在追求用最简单的数学公式解释世界。三年前我在化工厂做反应釜监控项目时&#xff0…...

基于STM32CubeMX的AD9850驱动开发与频率合成实战

1. 从零开始认识AD9850与STM32CubeMX 第一次接触AD9850这个芯片时&#xff0c;我完全被它的性能震撼到了——这个比指甲盖还小的芯片&#xff0c;居然能产生0.0291Hz分辨率的信号&#xff01;当时我正在做一个射频测试项目&#xff0c;需要生成精确的正弦波信号。市面上常见的…...

瑞萨RA6E2评估板Keil MDK5开发全攻略:从RA Smart Configurator到烧录调试

瑞萨RA6E2评估板Keil MDK5开发全流程实战指南 对于嵌入式开发者而言&#xff0c;瑞萨RA6E2系列MCU凭借其高性能和丰富外设正成为工业控制、物联网终端设备的优选方案。而Keil MDK5作为Arm生态中最成熟的开发环境之一&#xff0c;与瑞萨官方工具链的深度整合为开发者提供了高效…...

从Solidworks到Simulink:避开ADAMS“雷区”的机电联合仿真实践

1. 为什么机电联合仿真总在ADAMS上栽跟头&#xff1f; 第一次用ADAMS做机电联合仿真时&#xff0c;我对着满屏的线框图发呆了半小时——这玩意儿怎么连个像样的实体显示都要手动切换&#xff1f;更崩溃的是&#xff0c;好不容易导入的Solidworks装配体&#xff0c;所有配合关系…...

如何快速解放双手:MaaYuan游戏日常任务自动化完整指南

如何快速解放双手&#xff1a;MaaYuan游戏日常任务自动化完整指南 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan 厌倦了每天花费大量时间在重复的游戏日常任务上吗&#xff1f;MaaYuan作为一款免费开源的…...