• python numpy常用的数学和统计函数


    numpy模块的核心就是基于数组的运算,相比于列表和其他数据结构,数组的运算效率是最高的。在统计分析和挖掘过程中,经常会使用到numpy模块的函数,以下是常用的数学函数和统计函数:

    常数p就是圆周率  3.1415926...

    常数e :2.71828...

    np.fabs(arr)   例如:np.fabs(-3)   输出:3.0

    np.ceil(arr)  例如:np.ceil(3.2)   输出:4.0   并非四舍五入操作

    np.floor(arr)  类似ceil  向下取整

    np.round(arr)  四舍五入  例如:np.round(3.4)  输入:3.0    输出的还是浮点型数据,并非整型

    np.fmod(arr1,arr2) 求余,对arr1,arr2并没有要求要整数,如np.fmod(3.9,3.8)  结果是:0.1000000

     np.modf(arrj)   返回数组元素的小数部分和整数部分  如:arr1 = np.array([3.21,4.1,5.2])    print(np.modf(arr1))   输出如下:

    (array([0.31, 0.1 , 0.2 ]), array([2., 4., 5.]))

     np.sqrt(arr)  计算各元素的算数平方根,这个元素可以是具体的数值,也可以是数组,例如:print(np.sqrt(arr1))  out:

    [1.51986842 2.02484567 2.28035085]

    np.square(arr)  用法同np.sqrt(arr)  计算各元素的平方值

    np.power(arr,α) 表示arr的α次方   也就是说  其实 np.power 可以包括 aqrt square exp

    如:

    import numpy as np
    arr1 = np.array([2.31,4.1,5.2])
    print(np.power(arr1,0.5))
    print(np.sqrt(arr1))


    print(np.exp(arr1))
    print(np.power(np.e,arr1))


    print(np.power(arr1,2))

    print(np.square(arr1))

    out:

    [1.51986842 2.02484567 2.28035085]
    [1.51986842 2.02484567 2.28035085]
    [ 10.07442466  60.3402876  181.27224188]
    [ 10.07442466  60.3402876  181.27224188]
    [ 5.3361 16.81   27.04  ]
    [ 5.3361 16.81   27.04  ]

    常用统计函数:

     

     统计函数绝大部分都是有axis参数,该参数的目的就是在统计数组元素时需要按照不同的轴方向计算,如果axis = 1,计算各行的统计值,axis = 0,计算各列

    的统计值。

    例如:

    import numpy as np

    arr2 = np.arange(9).reshape(3,3)

    print(np.sum(arr2,axis = 0))    #统计二维数组垂直方向各项的值的和

    print(np.sum(arr2,axis = 1))   #统计二维数组横向方向各项的值的和

     out:

    [ 9 12 15]
    [ 3 12 21]

    示例2:

    import numpy as np
    arr2 = np.arange(9).reshape(3,3)
    print('输入arr2用于对比: ',arr2)
    print('....分割线....')
    print(np.min(arr2,axis = 0))
    print(np.max(arr2,axis = 1))
    print(np.mean(arr2,axis = 0))
    print(np.median(arr2,axis = 1))
    print(np.sum(arr2,axis =0))
    print(np.std(arr2,axis =0))
    print(np.var(arr2,axis=0)) #方差 也就是差的平方了
    print(np.cumsum(arr2,axis = 0)) #累计和 可以通过结果的值 如:3,5,7的得来是 0+3 1+4 2+5
    print(np.cumprod(arr2,axis =0)) #跟累加处理方式类似,一个个剩下来
    print(np.argmax(arr2,axis = 0 )) #这里反馈的是按照轴方向返回的最大值的位置,并不是最大值

    
    
    输入arr2用于对比:
     [[0 1 2]
     [3 4 5]
     [6 7 8]]
    ....分割线....
    [0 1 2]
    [2 5 8]
    [3. 4. 5.]
    [1. 4. 7.]
    [ 9 12 15]
    [2.44948974 2.44948974 2.44948974]
    [6. 6. 6.]
    [[ 0  1  2]
     [ 3  5  7]
     [ 9 12 15]]
    [[ 0  1  2]
     [ 0  4 10]
     [ 0 28 80]]
    [2 2 2]
    
     特意没隔开,自己慢慢看吧   皮尔逊相关系数,协方差,后面再理解


  • 相关阅读:
    NSDate仅获取日期年月日的实现--即只要年月日,不要多余的小时分钟秒数
    iOS入门学习书籍路线(英文书籍)
    iOS开发必看的博客汇总
    Java直接插入算法
    MyEclipse汉化后问题
    Java 两个变量交换值
    Objective-C 笔记 字符串操作
    Objective-C 笔记二 类、对象和方法
    Objective-C 笔记一(HelloWorld)
    我们究竟需要什么!!?
  • 原文地址:https://www.cnblogs.com/tinglele527/p/11737393.html
Copyright © 2020-2023  润新知