简单算术

你可以直接在 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+2011+2112+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-2020-2130-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*2020*2130*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/320/530/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^320^530^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 除以 320 除以 `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 简单算术:加减乘除及其他运算的更多相关文章

  1. C++初学(1) 简单的加减乘除取余运算代码

    //---------------+-*/%算法---------------------------------------------------------- #include <iost ...

  2. 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

    #!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...

  3. OpenJudge计算概论-简单算术表达式求值

    /*===================================== 简单算术表达式求值 总时间限制: 1000ms 内存限制: 65536kB 描述 2位正整数的简单算术运算(只考虑整数运 ...

  4. NumPy简单入门教程

    # NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...

  5. OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加,连减,连除,连乘)

    OC中使用UI自己定义控件实现计算器的设计(版本号1简单的加减乘除,连加.连减,连除,连乘) #import <UIKit/UIKit.h> @interface ViewControll ...

  6. numpy简单入门

    声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文)   读取文件 有一个名为world_alc ...

  7. Openjudge-NOI题库-简单算术表达式求值

    题目描述 Description 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算:-,减法运算:*,乘法运算:/,整除运算:%,取余运算. 算术表达式的格式为(运算符前后可能有 ...

  8. Openjudge-计算概论(A)-简单算术表达式求值

    描述: 两位正整数的简单算术运算(只考虑整数运算),算术运算为: +,加法运算:-,减法运算:*,乘法运算:/,整除运算:%,取余运算. 算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运 ...

  9. numpy教程:矩阵matrix及其运算

    http://blog.csdn.net/pipisorry/article/details/48791403 numpy矩阵简介 NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组ar ...

  10. (二)初识NumPy库(数组的操作和运算)

    本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...

随机推荐

  1. 【pytorch学习】之微积分

    4 微积分 在2500年前,古希腊人把一个多边形分成三角形,并把它们的面积相加,才找到计算多边形面积的方法.为了求出曲线形状(比如圆)的面积,古希腊人在这样的形状上刻内接多边形.如图所示,内接多边形的 ...

  2. EasyNLP玩转文本摘要(新闻标题)生成

    简介: 本⽂将提供关于PEGASUS的技术解读,以及如何在EasyNLP框架中使⽤与PEGASUS相关的文本摘要(新闻标题)生成模型. 作者:王明.黄俊 导读 文本生成是自然语言处理领域的一个重要研究 ...

  3. 支付宝移动端 Hybrid 解决方案探索与实践

    支付宝 Hybrid 方案建设与演进 目前支付宝有 2 套 Hybrid 方案: HTML5 容器与小程序.小程序是最近几年才出来,H5 容器已经有了很长时间的历史,所以我们就先从 H5 容器说起. ...

  4. 写给大家看的“不负责任” K8s 入门文档

    前言 2019 年下半年,我做了一次转岗,开始接触到 Kubernetes,虽然对 K8s 的认识还非常的不全面,但是非常想分享一下自己的一些收获,希望通过本文能够帮助大家对 K8s 有一个入门的了解 ...

  5. K8s Ingress Provider 为什么选择 MSE 云原生网关?

    ​简介:在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代, ...

  6. Flink集成Iceberg在同程艺龙的实践

    ------------恢复内容开始------------ null ------------恢复内容结束------------

  7. 使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息

    简介: 本文将 rocktmq-spring-boot 的设计实现做一个简单的介绍,读者可以通过本文了解将 RocketMQ Client 端集成为 spring-boot-starter 框架的开发 ...

  8. DOM操作学习

    一.DOM对象-查找元素 # 1.直接查找 # 获取标签对象的方式: document.getElementById('#id') #根据ID获取一个标签(获取的是单独的对象) document.ge ...

  9. games101-3 BRDF101

    BRDF101 概述 本文基于知乎Maple对brdf的文章,在此基础又收集了一些其它来源的关于brdf的文章,希望能够完全理解记忆相关知识 关于Jakub Boksansky的文章,看的过程中又去搜 ...

  10. 四:大数据架构回顾-IOTA架构

    IOTA大数据架构是一种基于AI生态下的全新的数据架构模式,2018年,易观首次提出这一概念.IOTA的整体思路是设定标准数据模型,通过边缘计算技术把所有的计算过程分散在数据产生.计算和查询过程当中, ...