目录

NumPy - 算术运算( Arithmetic Operations)

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

例子 (Example)

import numpy as np 
a = np.arange(9, dtype = np.float_).reshape(3,3) 
print 'First array:' 
print a 
print '\n'  
print 'Second array:' 
b = np.array([10,10,10]) 
print b 
print '\n'  
print 'Add the two arrays:' 
print np.add(a,b) 
print '\n'  
print 'Subtract the two arrays:' 
print np.subtract(a,b) 
print '\n'  
print 'Multiply the two arrays:' 
print np.multiply(a,b) 
print '\n'  
print 'Divide the two arrays:' 
print np.divide(a,b)

它将产生以下输出 -

First array:
[[ 0. 1. 2.]
 [ 3. 4. 5.]
 [ 6. 7. 8.]]
Second array:
[10 10 10]
Add the two arrays:
[[ 10. 11. 12.]
 [ 13. 14. 15.]
 [ 16. 17. 18.]]
Subtract the two arrays:
[[-10. -9. -8.]
 [ -7. -6. -5.]
 [ -4. -3. -2.]]
Multiply the two arrays:
[[ 0. 10. 20.]
 [ 30. 40. 50.]
 [ 60. 70. 80.]]
Divide the two arrays:
[[ 0. 0.1 0.2]
 [ 0.3 0.4 0.5]
 [ 0.6 0.7 0.8]]

现在让我们讨论一下NumPy中可用的其他一些重要的算术函数。

numpy.reciprocal()

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

例子 (Example)

import numpy as np 
a = np.array([0.25, 1.33, 1, 0, 100]) 
print 'Our array is:' 
print a 
print '\n'  
print 'After applying reciprocal function:' 
print np.reciprocal(a) 
print '\n'  
b = np.array([100], dtype = int) 
print 'The second array is:' 
print b 
print '\n'  
print 'After applying reciprocal function:' 
print np.reciprocal(b) 

它将产生以下输出 -

Our array is:
[   0.25    1.33    1.      0.    100.  ]
After applying reciprocal function:
main.py:9: RuntimeWarning: divide by zero encountered in reciprocal
  print np.reciprocal(a)
[ 4.         0.7518797  1.               inf  0.01     ]
The second array is:
[100]
After applying reciprocal function:
[0]

numpy.power()

此函数将第一个输入数组中的元素视为基数,并将其提升为第二个输入数组中相应元素的幂。

import numpy as np 
a = np.array([10,100,1000]) 
print 'Our array is:' 
print a 
print '\n'  
print 'Applying power function:' 
print np.power(a,2) 
print '\n'  
print 'Second array:' 
b = np.array([1,2,3]) 
print b 
print '\n'  
print 'Applying power function again:' 
print np.power(a,b)

它将产生以下输出 -

Our array is:
[  10  100 1000]
Applying power function:
[    100   10000 1000000]
Second array:
[1 2 3]
Applying power function again:
[        10      10000 1000000000]

numpy.mod()

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

import numpy as np 
a = np.array([10,20,30]) 
b = np.array([3,5,7]) 
print 'First array:' 
print a 
print '\n'  
print 'Second array:' 
print b 
print '\n'  
print 'Applying mod() function:' 
print np.mod(a,b) 
print '\n'  
print 'Applying remainder() function:' 
print np.remainder(a,b) 

它将产生以下输出 -

First array:                                                                  
[10 20 30]
Second array:                                                                 
[3 5 7]
Applying mod() function:                                                      
[1 0 2]
Applying remainder() function:                                                
[1 0 2]

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

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

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

  • numpy.conj() - 返回复共轭,它是通过改变虚部的符号得到的。

  • numpy.angle() - 返回复杂参数的角度。 该函数具有度参数。 如果为true,则返回度数中的角度,否则角度为弧度。

import numpy as np 
a = np.array([-5.6j, 0.2j, 11. , 1+1j]) 
print 'Our array is:' 
print a 
print '\n'  
print 'Applying real() function:' 
print np.real(a) 
print '\n'  
print 'Applying imag() function:' 
print np.imag(a) 
print '\n'  
print 'Applying conj() function:' 
print np.conj(a) 
print '\n'  
print 'Applying angle() function:' 
print np.angle(a) 
print '\n'  
print 'Applying angle() function again (result in degrees)' 
print np.angle(a, deg = True)

它将产生以下输出 -

Our array is:
[ 0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ]
Applying real() function:
[ 0. 0. 11. 1.]
Applying imag() function:
[-5.6 0.2 0. 1. ]
Applying conj() function:
[ 0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ]
Applying angle() function:
[-1.57079633 1.57079633 0. 0.78539816]
Applying angle() function again (result in degrees)
[-90. 90. 0. 45.]
↑回到顶部↑
WIKI教程 @2018