美文网首页【完】Numpy学习笔记
【numpy笔记_9】数学运算和函数

【numpy笔记_9】数学运算和函数

作者: fakeProgramer | 来源:发表于2023-02-28 21:07 被阅读0次

    激动的心,颤抖的手,终于讲到函数了。

    到这说明numpy这项工具被你掌握了大半。

    掌握了前面的array对象和操作,数学运算、函数和统计是非常好理解的东西,无非调用numpy封装好的工具而已。

    废话不多说,开始今天的内容。


    数学运算

    常用的数学运算有加减乘除,取绝对值,取倒数,幂运算,求和等等。

    下面整理了一些常用的数学运算方法:

    功能 方法 参数 说明
    np.add() arr1,arr2 arr1 + arr2
    np.subtract() arr1,arr2 arr1 - arr2
    np.multiply() arr1,arr2 arr1 * arr2
    np.divide() arr1,arr2 arr1 / arr2
    求倒数 np.reciprocal() args 1/args(args的倒数)
    求余数 np.mod() args1,args2 args1 % args2(args1除以args2后的余数)
    求绝对值 np.absolute() args /args/(args的绝对值)
    幂运算 np.power() args1,args2 args1 ^ args2(args1的args2次方)
    import numpy as np
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 + arr2: ', np.add(arr1, arr2))   # 求和,等同于使用 +(arr1 + arr2)
    # 运算结果:
    arr1 + arr2:  [ 3  7 11]
    
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 - arr2: ', np.subtract(arr1, arr2))   # 求差,等同于使用 -(arr1 - arr2)
    # 运算结果:
    arr1 - arr2:  [-1 -1 -1]
    
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 * arr2: ', np.multiply(arr1, arr2))   # 求乘,等同于使用 *(arr1 * arr2)
    # 运算结果:
    arr1 * arr2:  [ 2 12 30]
    
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 / arr2: ', np.divide(arr1, arr2))   # 求商,等同于使用 /(arr1 / arr2)
    # 运算结果:
    arr1 / arr2:  [0.5        0.75       0.83333333]
    
    arr1 = np.array([1, 3, 5],dtype='float64')
    print('arr1计算倒数: ', np.reciprocal(arr1))   # 求倒数,需指定数据类型以保证精度,等同于(1 / arr1)
    arr2 = np.array([2, 4, 6])
    # 运算结果:
    arr1计算倒数:  [1.         0.33333333 0.2       ]
    
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 % arr2: ', np.mod(arr2, arr1))   # 求余数
    # 运算结果:
    arr1 % arr2:  [0 1 1]
    
    arr1 = np.array([1, -3, 5])
    print('arr1的绝对值: ', np.absolute(arr1))   # 求绝对值
    # 运算结果:
    arr1的绝对值:  [1 3 5]
    
    arr1 = np.array([1, 3, 5])
    arr2 = np.array([2, 4, 6])
    print('arr1 ^ arr2: ', np.power(arr2, arr1))   # 求次方
    # 运算结果:
    arr1 ^ arr2:  [   2   64 7776]
    

    当然,numpy的科学计算远不止这些,还可以求对数、积分、聚合计算等等。这里只列举了一些平时用的较多的方法,没必要都背下来,需要再查也来得及

    而且,numpy的计算方式很灵活,比如上面的加减乘除或求倒、求幂等等,有多种计算方式,要懂得融会贯通,才能简捷高效地达到运算效果。

    数学函数

    高深的数学函数平时应用场景非常少(也可能我的层次没达到=。=),这里只列举下三角函数的计算方法,其他需要了可以再查:

    功能 方法 参数 说明
    π值 np.pi 调用常数,π值 3.14159265...
    sin函数 np.sin() args 对数组的元素分别计算sin函数
    cos函数 np.cos() args 对数组的元素分别计算cos函数
    tan函数 np.tan() args 对数组的元素分别计算tan函数
    舍入函数 np.around() args, number 对args取number位
    import numpy as np
    
    pi = np.pi
    print('π值:', pi)
    # 运算结果:
    π值: 3.141592653589793
    
    arr1 = np.array([0,30,60,90])
    print('给定一组角度arr1,计算其sin值为:', np.sin(arr1 * np.pi / 180))   # 角度 * π / 180,计算sin
    print('给定一组角度arr1,计算其cos值为:', np.cos(arr1 * np.pi / 180))   # 角度 * π / 180,计算cos
    print('给定一组角度arr1,计算其tan值为:', np.tan(arr1 * np.pi / 180))   # 角度 * π / 180,计算tan
    # 运算结果:
    给定一组角度arr1,计算其sin值为: [0.        0.5       0.8660254 1.       ]
    给定一组角度arr1,计算其cos值为: [1.00000000e+00 8.66025404e-01 5.00000000e-01 6.12323400e-17]
    给定一组角度arr1,计算其tan值为: [0.00000000e+00 5.77350269e-01 1.73205081e+00 1.63312394e+16]
    
    arr1 = np.array([1,3,5,7])
    print('对arr1除以4,取小数点后两位:', np.around(arr1 / 4 ,2))
    # 运算结果:
    对arr1除以4,取小数点后两位: [0.25 0.75 1.25 1.75]
    

    今天的内容理解起来轻松了很多,后面会越来越轻松。

    相关文章

      网友评论

        本文标题:【numpy笔记_9】数学运算和函数

        本文链接:https://www.haomeiwen.com/subject/ekjqldtx.html