NumPy 简单算术:加减乘除及其他运算
简单算术
你可以直接在 NumPy 数组之间使用算术运算符 +
-
*
/
,但本节讨论了一个扩展,其中我们有函数可以接受任何类似数组的对象,如列表、元组等,并根据条件执行算术运算。
条件算术:意味着我们可以定义算术运算应该发生的条件。
所有讨论过的算术函数都接受一个 where
参数,我们可以在其中指定条件。
加法
add()
函数对两个数组的内容求和,并将结果返回到一个新数组中。
示例:将 arr1
中的值加到 arr2
的值中:
import numpy as np
arr1 = np.array([10, 11, 12, 13, 14, 15])
arr2 = np.array([20, 21, 22, 23, 24, 25])
newarr = np.add(arr1, arr2)
print(newarr)
上面的示例将返回 [30 32 34 36 38 40]
,这是 10+20
、11+21
、12+22
等的和。
减法
subtract()
函数将一个数组中的值减去另一个数组中的值,并将结果返回到一个新数组中。
示例:从 arr1
中的值中减去 arr2
中的值:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])
newarr = np.subtract(arr1, arr2)
print(newarr)
上面的示例将返回 [-10 -1 8 17 26 35]
,这是 10-20
、20-21
、30-22
等的结果。
乘法
multiply()
函数将一个数组中的值与另一个数组中的值相乘,并将结果返回到一个新数组中。
示例:将 arr1
中的值与 arr2
中的值相乘:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])
newarr = np.multiply(arr1, arr2)
print(newarr)
上面的示例将返回 [200 420 660 920 1200 1500]
,这是 10*20
、20*21
、30*22
等的结果。
除法
divide()
函数将一个数组中的值除以另一个数组中的值,并将结果返回到一个新数组中。
示例:将 arr1
中的值除以 arr2
中的值:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 10, 8, 2, 33])
newarr = np.divide(arr1, arr2)
print(newarr)
上面的示例将返回 [3.33333333 4. 3. 5. 25. 1.81818182]
,这是 10/3
、20/5
、30/10
等的结果。
幂
power()
函数将第一个数组中的值提高到第二个数组中的值的幂,并将结果返回到一个新数组中。
示例:将 arr1
中的值提高到 arr2
中的值的幂:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 6, 8, 2, 33])
newarr = np.power(arr1, arr2)
print(newarr)
上面的示例将返回 [1000 3200000 729000000 6553600000000 2500 0]
,这是 10^3
、20^5
、30^6
等的结果。
余数
mod()
和 remainder()
函数都返回第一个数组中的值与第二个数组中的值对应的余数,并将结果返回到一个新数组中。
示例:返回余数:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])
newarr = np.mod(arr1, arr2)
print(newarr)
上面的示例将返回 [1 6 3 0 0 27]
,这是 10 除以 3
的余数 (10%3
)、20 除以 7
的余数 (20%7
)、30 除以 9
的余数 (30%9
) 等。
当使用 remainder()
函数时,结果相同:
示例:返回余数:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])
newarr = np.remainder(arr1, arr2)
print(newarr)
商和余数
divmod()
函数返回商和余数。返回值是两个数组,第一个数组包含商,第二个数组包含余数。
示例:返回商和余数:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])
newarr = np.divmod(arr1, arr2)
print(newarr)
上面的示例将返回:
(array([3, 2, 3, 5, 25, 1]), array([1, 6, 3, 0, 0, 27]))
第一个数组表示商,(当你将 10
除以 3
、20
除以 `7
、
30除以
9` 等时得到的整数值。
第二个数组表示相同除法的余数。
绝对值
absolute()
和 abs()
函数都对每个元素进行相同的绝对值操作,但我们应该使用 absolute()
来避免与 Python 的内置 math.abs()
混淆。
示例:返回商
和余数:
import numpy as np
arr = np.array([-1, -2, 1, 2, 3, -4])
newarr = np.absolute(arr)
print(newarr)
上面的示例将返回 [1 2 1 2 3 4]
。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
NumPy 简单算术:加减乘除及其他运算的更多相关文章
- C++初学(1) 简单的加减乘除取余运算代码
//---------------+-*/%算法---------------------------------------------------------- #include <iost ...
- 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...
- OpenJudge计算概论-简单算术表达式求值
/*===================================== 简单算术表达式求值 总时间限制: 1000ms 内存限制: 65536kB 描述 2位正整数的简单算术运算(只考虑整数运 ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...
- OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加,连减,连除,连乘)
OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加.连减,连除,连乘) #import <UIKit/UIKit.h> @interface ViewControll ...
- numpy简单入门
声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文) 读取文件 有一个名为world_alc ...
- Openjudge-NOI题库-简单算术表达式求值
题目描述 Description 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算:-,减法运算:*,乘法运算:/,整除运算:%,取余运算. 算术表达式的格式为(运算符前后可能有 ...
- Openjudge-计算概论(A)-简单算术表达式求值
描述: 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算:-,减法运算:*,乘法运算:/,整除运算:%,取余运算. 算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运 ...
- numpy教程:矩阵matrix及其运算
http://blog.csdn.net/pipisorry/article/details/48791403 numpy矩阵简介 NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组ar ...
- (二)初识NumPy库(数组的操作和运算)
本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...
随机推荐
- 为 Serverless Devs 插上 Terraform 的翅膀,解耦代码和基础设施,实现企业级多环境部署(下)
简介: 在上篇<为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(上)>中,主要介绍了 Serverless Devs 多环境功能的使用,用户读完 ...
- 庖丁解InnoDB之REDO LOG
简介: 数据库故障恢复机制的前世今生一文中提到,今生磁盘数据库为了在保证数据库的原子性(A, Atomic) 和持久性(D, Durability)的同时,还能以灵活的刷盘策略来充分利用磁盘顺序写的 ...
- [GPT] export, export default, import, module.exports, require
ES6 规范:export 和 import 配对 import 的 {} 大括号里面指定要从其他模块导入的变量名, 如果 export 命令没有写 default,那么 import {} 大括号里 ...
- WPF 切换主题使用 luna 复古版本
本文告诉大家如何在 WPF 里面使用 luna 等复古主题 今天在 lsj 说他准备优化 WPF 的程序集时,准备删除 luna 等程序集时,找到了一段有趣的注释,发现在 WPF 里面可以通过一些有趣 ...
- dotnet 调试应用启动闪退的方法
应用程序如果启动即闪退,那大部分时候日志模块还没初始化完成,很难通过应用自身的启动流程了解到应用启动失败的原因.本文来告诉几个不同的方法用来调查应用启动失败的原因 应用启动失败的原因可能有很多,例如系 ...
- Raft 共识算法2-领导者选举
Raft 共识算法2-领导者选举 Raft算法中译版地址:https://object.redisant.com/doc/raft中译版-2023年4月23日.pdf 英原论文地址:https://r ...
- 面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
一.写在开头 我们在上一篇写ReentrantReadWriteLock读写锁的末尾留了一个小坑,那就是读写锁因为写锁的悲观性,会导致 "写饥饿",这样一来会大大的降低读写效率,而 ...
- ruby on rails中sidekiq的使用
参考文章: https://www.jianshu.com/p/7ea473097023 安装redis 配置redis 配置sidekiq所依赖的redis位置,必须同时定义sidekiq的serv ...
- 当你用neovim的mason插件管理lsp config,并且配置好bash的bashls后,却没有正常工作的解决方式
刚开始遇到这个情况我百思不得其解,检查了neovim checkhealth,以为是npm包管理的问题,然后删了下删了下 不但没有解决还把包管理整乱了-- 后来发现是我没仔细看bash-languag ...
- ༺$Musique$༻
往期链接在文末 最近好喜欢听一些有年代感的歌啊. ~~头图~~ <$ On\ \And \ On $> Hold me close til I get up Time is barely ...