简单算术

你可以直接在 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. 数据库PolarDB开源之路该如何走?听听他们怎么说

    简介: 10月25日,由阿里云开发者社区.阿里云PolarDB开源社区.InfoQ联合举办的「开源人说」数据库PolarDB专场线下沙龙在杭州召开,5位阿里云数据库超级大咖.10位阿里云数据库开源生态 ...

  2. 做ToB软件质量保障的这两年

    ​简介:自己算是阿里的老兵了,从实习开始一直投身在 toB 业务的质量保障领域内,不能说是资深的专家,但所经历的.感受的业务特点和体会还是具有一定的代表性,希望能通过这篇文章,总结一下过往,并能和已经 ...

  3. 如何落地云原生DevOps?

    简介: 什么是云原生DevOps?在阿里内部有怎样的实践?企业又该如何落地?阿里云云效专家团队提出了下一代精益产品开发方法体系--ALPD,提供了系统的云原生DevOps落地的方法支撑,帮助企业渐进式 ...

  4. [MongoDB] aggregate 查询的优化思路

    首先从业务角度出发,不必要的筛选条件和粗略的筛选条件会严重影响查询速度,比如 $or 查询和 $in 查询,视情况尽可能去掉. 程序中打印出查询条件的各部分,有 $match.$group.比如 PH ...

  5. 2018-11-19-win10-uwp-使用-Azure-DevOps-自动构建

    title author date CreateTime categories win10 uwp 使用 Azure DevOps 自动构建 lindexi 2018-11-19 15:26:4 +0 ...

  6. 2019-8-31-C#-简单读取文件

    title author date CreateTime categories C# 简单读取文件 lindexi 2019-08-31 16:55:58 +0800 2018-07-19 16:48 ...

  7. Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库的场景

    当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法.然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生 ...

  8. ansible(10)--ansible的systemd模块

    1. systemd模块 功能:管理服务启动与停止,与 service 模块用法一致: 主要参数如下: 参数 说明 name 指定需要控制的服务名称 state 指定服务状态,其值可以为stopped ...

  9. WEB服务与NGINX(23)- nginx的四层负载均衡功能

    目录 1. nginx实现四层的负载均衡 1.1 nginx四层负载配置参数 1.2 负载均衡示例-mariadb 1. nginx实现四层的负载均衡 nginx从1.9.0版本开始支持TCP模式的负 ...

  10. vben集成keycloak

    前言 公司的项目是vben admin框架需要集成keycloak,那keycloak大家应该都不陌生了,就是统一认证的一个系统简称IDS.之前用过cas,并重构过cas的前端界面,所以对此也是比较熟 ...