NumPy - 算术运算

  • 简述

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

    例子

    
    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 的元素,由于 Python 处理整数除法的方式,结果始终为 0。对于整数 0,发出溢出警告。

    例子

    
    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()- 返回复杂参数的角度。该函数具有度数参数。如果为真,则返回以度为单位的角度,否则以弧度为单位。
    
    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.]