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. openssl update--centos 6.5

    cd /usr/local/src #wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz #tar -zxvf openssl-1.0.1 ...

  2. python基础之类的进阶

    一.__setitem__,__getitem,__delitem__ #把对象操作属性模拟成字典的格式 class Foo: def __init__(self,name): self.name=n ...

  3. 报错:Cannot remove entries from nonexistent file c:\program files\anaconda3\lib\site-packages\easy-install.pth

    Outline 这两天通过“掘金量化终端”跑模型策略,之前装好环境一直ok,可以顺畅的Running~ 下午重装了下 Anaconda,刚才跑的时候提示 缺少“gm”模块 (掘金量化必须包): 就按照 ...

  4. Android ViewGroup onInterceptTouchEvent

    public boolean onInterceptTouchEvent (MotionEvent ev) Implement this method to intercept all touch s ...

  5. python中decorator的用法及原理(一)

    0. 概念 什么叫装饰器,其实也可以叫做包装器.即对于一个既有的函数func(args),在调用它之前和之后,我们希望都做一些事情,把这个函数包装起来. Python中的装饰器分为两类:函数装饰器和类 ...

  6. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  7. Linux主从同步监测和利用sendMail来发邮件

    首先介绍下sendMail About SendEmailSendEmail is a lightweight, command line SMTP email client. If you have ...

  8. python16_day09【Select多路复用】

    一.select多路复用 句柄列表11, 句柄列表22, 句柄列表33 = select.select(句柄序列1, 句柄序列2, 句柄序列3, 超时时间) 参数: 可接受四个参数(前三个必须) 返回 ...

  9. beego——获取参数

    1.获取参数 我们经常需要获取用户传递的数据,包括Get.POST等方式的请求,beego里面会自动解析这些数据,你可以通过如下方式获取数据: GetString(key string) string ...

  10. Codeforces Round #468(div2)

    A Friends Meeting 题意:有两个人在数轴上的不同位置,现在他们需要到一个位置碰面.每次每人只能向左或向右走1个单位,轮流进行.每个人第一次走时疲劳度+1,第二次走时疲劳度+2,以此类推 ...