NumPy - 算数运算

用于执行算术运算(如add()subtract()multiply()divide())的输入数组必须具有相同的形状或符合数组广播规则。

示例

import numpy as np
a = np.arange(9, dtype = np.float_).reshape(3,3)
print '第一个数组:'
print a
print '\n'
print '第二个数组:'
b = np.array([10,10,10])
print b
print '\n'
print '两个数组相加:'
print np.add(a,b)
print '\n'
print '两个数组相减:'
print np.subtract(a,b)
print '\n'
print '两个数组相乘:'
print np.multiply(a,b)
print '\n'
print '两个数组相除:'
print np.divide(a,b)
Python

输出如下:

第一个数组:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]] 第二个数组:
[10 10 10] 两个数组相加:
[[ 10. 11. 12.]
[ 13. 14. 15.]
[ 16. 17. 18.]] 两个数组相减:
[[-10. -9. -8.]
[ -7. -6. -5.]
[ -4. -3. -2.]] 两个数组相乘:
[[ 0. 10. 20.]
[ 30. 40. 50.]
[ 60. 70. 80.]] 两个数组相除:
[[ 0. 0.1 0.2]
[ 0.3 0.4 0.5]
[ 0.6 0.7 0.8]]

让我们现在来讨论 NumPy 中提供的一些其他重要的算术函数。

numpy.reciprocal()

此函数返回参数逐元素的倒数,。 由于 Python 处理整数除法的方式,对于绝对值大于 1 的整数元素,结果始终为 0, 对于整数 0,则发出溢出警告。

示例

import numpy as np
a = np.array([0.25, 1.33, 1, 0, 100])
print '我们的数组是:'
print a
print '\n'
print '调用 reciprocal 函数:'
print np.reciprocal(a)
print '\n'
b = np.array([100], dtype = int)
print '第二个数组:'
print b
print '\n'
print '调用 reciprocal 函数:'
print np.reciprocal(b)
Python

输出如下:

我们的数组是:
[ 0.25 1.33 1. 0. 100. ] 调用 reciprocal 函数:
main.py:9: RuntimeWarning: divide by zero encountered in reciprocal
print np.reciprocal(a)
[ 4. 0.7518797 1. inf 0.01 ] 第二个数组:
[100] 调用 reciprocal 函数:
[0]

numpy.power()

此函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。

import numpy as np
a = np.array([10,100,1000])
print '我们的数组是;'
print a
print '\n'
print '调用 power 函数:'
print np.power(a,2)
print '\n'
print '第二个数组:'
b = np.array([1,2,3])
print b
print '\n'
print '再次调用 power 函数:'
print np.power(a,b)
Python

输出如下:

我们的数组是;
[ 10 100 1000] 调用 power 函数:
[ 100 10000 1000000] 第二个数组:
[1 2 3] 再次调用 power 函数:
[ 10 10000 1000000000]

numpy.mod()

此函数返回输入数组中相应元素的除法余数。 函数numpy.remainder()也产生相同的结果。

import numpy as np
a = np.array([10,20,30])
b = np.array([3,5,7])
print '第一个数组:'
print a
print '\n'
print '第二个数组:'
print b
print '\n'
print '调用 mod() 函数:'
print np.mod(a,b)
print '\n'
print '调用 remainder() 函数:'
print np.remainder(a,b)
Python

输出如下:

第一个数组:
[10 20 30] 第二个数组:
[3 5 7] 调用 mod() 函数:
[1 0 2] 调用 remainder() 函数:
[1 0 2]

以下函数用于对含有复数的数组执行操作。

  • numpy.real() 返回复数类型参数的实部。

  • numpy.imag() 返回复数类型参数的虚部。

  • numpy.conj() 返回通过改变虚部的符号而获得的共轭复数。

  • numpy.angle() 返回复数参数的角度。 函数的参数是degree。 如果为true,返回的角度以角度制来表示,否则为以弧度制来表示。

import numpy as np
a = np.array([-5.6j, 0.2j, 11. , 1+1j])
print '我们的数组是:'
print a
print '\n'
print '调用 real() 函数:'
print np.real(a)
print '\n'
print '调用 imag() 函数:'
print np.imag(a)
print '\n'
print '调用 conj() 函数:'
print np.conj(a)
print '\n'
print '调用 angle() 函数:'
print np.angle(a)
print '\n'
print '再次调用 angle() 函数(以角度制返回):'
print np.angle(a, deg = True)
Python

输出如下:

我们的数组是:
[ 0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ] 调用 real() 函数:
[ 0. 0. 11. 1.] 调用 imag() 函数:
[-5.6 0.2 0. 1. ] 调用 conj() 函数:
[ 0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ] 调用 angle() 函数:
[-1.57079633 1.57079633 0. 0.78539816] 再次调用 angle() 函数(以角度制返回):
[-90. 90. 0. 45.]

NumPy算数运算的更多相关文章

  1. 数组名取地址所算数运算应注意的"trap"

    数组名取地址所算数运算应注意的"trap" 直接看代码: #include <stdio.h> int main() { int array[5]; printf(&q ...

  2. 初学 Java Script (算数运算及逻辑术语)

    在JS中常用的算数运算符与其他编程类语言类似,逻辑术语也近乎相同. 一.常用算数运算符 1.基本算数运算符 赋值运算符:= : 加号:+ : 减号: - : 乘号: * : 除号: / : 求余: % ...

  3. python魔法方法-单目运算及一般算数运算

    在比较的魔法方法中,我们讨论了魔法方法其实就是重载了操作符,例如>.<.==等.而这里,我们继续讨论有关于数值的魔法方法. 1.单目运算符或单目运算函数 __pos__(self) 实现一 ...

  4. NumPy 位运算

    NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...

  5. Shell学习笔记——算数运算与条件测试

    算数运算 1. 使用let命令 #!/sbin/bash var1=2 var2=3 let sum=var1+var2 echo $sum 使用let命令式,变量前不需要加$号 只用于整数运算,不适 ...

  6. java的数组index[]方括号内是可以进行算数运算的

    java的数组index[]方括号内饰可以进行算数运算的 如: String[] stringArray = testString.split("\\."); System.out ...

  7. linux bash编程之算数运算和测试类型(第二篇)

    写在最前边:在bash中数据类型有两种,分别是数值型和字符型.其中字符型是默认的. 1.算数运算 · 运算符 · 语法 1.1.运算符:+.-.*./.%.** 注意:有些时候 *(乘号)需要转义 1 ...

  8. 10、numpy——位运算

    NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...

  9. pandas读书笔记 算数运算和数据对齐

    pandas最重要的一个功能是,它可以对不同索引的对象进行算数运算.在对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集. Series s1=Series([,3.4,1.5],ind ...

随机推荐

  1. 《JavaScript高级程序设计》读书笔记1--HTTP头部信息

    优秀的书籍常读常新 ----------------------------------------- 在发送XHR请求的同时,还会发送如下头部信息: --Accept: 浏览器能够处理的内容类型 - ...

  2. php 使用imagettftext()函数出问题的原因

    <?php header('Content-type: image/png'); $im = imagecreatetruecolor(400, 300); //创建画布 $white = im ...

  3. Web Tracking

    采集方式_数据采集_用户指南_日志服务-阿里云 https://help.aliyun.com/document_detail/28981.html http://docs-aliyun.cn-han ...

  4. Java基础 - 面向对象 - 类方法传参

    调用方法时可以给该方法传递一个或多个值,传给方法的值叫实参,在方法内部,接收实参的变量叫做形参,形参的声明语法与变量的声明语法一样.形参只在方法内部有效. Java中方法的参数主要有3种,分别为值参数 ...

  5. MQ中间件对比

  6. python项目环境的导出、导入

    导出开发环境 pip freeze > requirements.txt # 文件导出路径 导入环境 pip install -r requirements.txt # pip 则会自动下载安装 ...

  7. 利用VMware克隆linux虚拟机需要注意的事项

    利用VMware克隆虚拟机需要注意的问题 2018年03月30日 18:20:29 温文尔雅的流氓 阅读数:1343更多 个人分类: linux   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  8. Python和数据科学的起步指南

    http://python.jobbole.com/80853/ Python拥有着极其丰富且稳定的数据科学工具环境.遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke).在 ...

  9. RS232串口通信

    RS232串口经常使用在PC机与FPGA通信中,用于两者之间的数据传输,因为UART协议简单.易实现,故经常使用. DB9接口只需要使用3根线,RXD(2).TXD(3)和GND(5),如下图所示.而 ...

  10. Mysql查询结果导出为Excel的几种方法

    本文地址:http://www.cnblogs.com/qiaoyihang/p/6398673.html 具体原文找不到了,此篇是借鉴门户的一篇文章 方法一:查询语句直接输出语法格式: Exampl ...