• NumPy统计函数


    NumPy - 统计函数

    NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。 函数说明如下:

    numpy.amin() 和 numpy.amax()

    这些函数从给定数组中的元素沿指定轴返回最小值和最大值。

    示例

    import numpy as np 
    a = np.array([[3,7,5],[8,4,3],[2,4,9]])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 amin() 函数:'  
    print np.amin(a,1)  
    print  '
    '  
    print  '再次调用 amin() 函数:'  
    print np.amin(a,0)  
    print  '
    '  
    print  '调用 amax() 函数:'  
    print np.amax(a)  
    print  '
    '  
    print  '再次调用 amax() 函数:'  
    print np.amax(a, axis =  0)
    
    Python

    输出如下:

    我们的数组是:
    [[3 7 5]
    [8 4 3]
    [2 4 9]]
    
    调用 amin() 函数:
    [3 3 2]
    
    再次调用 amin() 函数:
    [2 4 3]
    
    调用 amax() 函数:
    9
    
    再次调用 amax() 函数:
    [8 7 9]
    
    Python

    numpy.ptp()

    numpy.ptp()函数返回沿轴的值的范围(最大值 - 最小值)。

    import numpy as np 
    a = np.array([[3,7,5],[8,4,3],[2,4,9]])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 ptp() 函数:'  
    print np.ptp(a)  
    print  '
    '  
    print  '沿轴 1 调用 ptp() 函数:'  
    print np.ptp(a, axis =  1)  
    print  '
    '  
    print  '沿轴 0 调用 ptp() 函数:'  
    print np.ptp(a, axis =  0)
    
    Python

    输出如下:

    我们的数组是:
    [[3 7 5]
    [8 4 3]
    [2 4 9]]
    
    调用 ptp() 函数:
    7
    
    沿轴 1 调用 ptp() 函数:
    [4 5 7]
    
    沿轴 0 调用 ptp() 函数:
    [6 3 6]
    

    numpy.percentile()

    百分位数是统计中使用的度量,表示小于这个值得观察值占某个百分比。 函数numpy.percentile()接受以下参数。

    numpy.percentile(a, q, axis)
    
    Python

    其中:

    序号参数及描述
    1. a 输入数组
    2. q 要计算的百分位数,在 0 ~ 100 之间
    3. axis 沿着它计算百分位数的轴

    示例

    import numpy as np 
    a = np.array([[30,40,70],[80,20,10],[50,90,60]])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 percentile() 函数:'  
    print np.percentile(a,50)  
    print  '
    '  
    print  '沿轴 1 调用 percentile() 函数:'  
    print np.percentile(a,50, axis =  1)  
    print  '
    '  
    print  '沿轴 0 调用 percentile() 函数:'  
    print np.percentile(a,50, axis =  0)
    
    Python

    输出如下:

    我们的数组是:
    [[30 40 70]
     [80 20 10]
     [50 90 60]]
    
    调用 percentile() 函数:
    50.0
    
    沿轴 1 调用 percentile() 函数:
    [ 40. 20. 60.]
    
    沿轴 0 调用 percentile() 函数:
    [ 50. 40. 60.]
    

    numpy.median()

    中值定义为将数据样本的上半部分与下半部分分开的值。 numpy.median()函数的用法如下面的程序所示。

    示例

    import numpy as np 
    a = np.array([[30,65,70],[80,95,10],[50,90,60]])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 median() 函数:'  
    print np.median(a)  
    print  '
    '  
    print  '沿轴 0 调用 median() 函数:'  
    print np.median(a, axis =  0)  
    print  '
    '  
    print  '沿轴 1 调用 median() 函数:'  
    print np.median(a, axis =  1)
    
    Python

    输出如下:

    我们的数组是:
    [[30 65 70]
     [80 95 10]
     [50 90 60]]
    
    调用 median() 函数:
    65.0
    
    沿轴 0 调用 median() 函数:
    [ 50. 90. 60.]
    
    沿轴 1 调用 median() 函数:
    [ 65. 80. 60.]
    

    numpy.mean()

    算术平均值是沿轴的元素的总和除以元素的数量。 numpy.mean()函数返回数组中元素的算术平均值。 如果提供了轴,则沿其计算。

    示例

    import numpy as np 
    a = np.array([[1,2,3],[3,4,5],[4,5,6]])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 mean() 函数:'  
    print np.mean(a)  
    print  '
    '  
    print  '沿轴 0 调用 mean() 函数:'  
    print np.mean(a, axis =  0)  
    print  '
    '  
    print  '沿轴 1 调用 mean() 函数:'  
    print np.mean(a, axis =  1)
    
    Python

    输出如下:

    我们的数组是:
    [[1 2 3]
     [3 4 5]
     [4 5 6]]
    
    调用 mean() 函数:
    3.66666666667
    
    沿轴 0 调用 mean() 函数:
    [ 2.66666667 3.66666667 4.66666667]
    
    沿轴 1 调用 mean() 函数:
    [ 2. 4. 5.]
    

    numpy.average()

    加权平均值是由每个分量乘以反映其重要性的因子得到的平均值。 numpy.average()函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。 该函数可以接受一个轴参数。 如果没有指定轴,则数组会被展开。

    考虑数组[1,2,3,4]和相应的权重[4,3,2,1],通过将相应元素的乘积相加,并将和除以权重的和,来计算加权平均值。

    加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)
    

    示例

    import numpy as np 
    a = np.array([1,2,3,4])  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '调用 average() 函数:'  
    print np.average(a)  
    print  '
    '  
    # 不指定权重时相当于 mean 函数
    wts = np.array([4,3,2,1])  
    print  '再次调用 average() 函数:'  
    print np.average(a,weights = wts)  
    print  '
    '  
    # 如果 returned 参数设为 true,则返回权重的和  
    print  '权重的和:'  
    print np.average([1,2,3,  4],weights =  [4,3,2,1], returned =  True)
    
    Python

    输出如下:

    我们的数组是:
    [1 2 3 4]
    
    调用 average() 函数:
    2.5
    
    再次调用 average() 函数:
    2.0
    
    权重的和:
    (2.0, 10.0)
    

    在多维数组中,可以指定用于计算的轴。

    示例

    import numpy as np 
    a = np.arange(6).reshape(3,2)  
    print  '我们的数组是:'  
    print a 
    print  '
    '  
    print  '修改后的数组:' 
    wt = np.array([3,5])  
    print np.average(a, axis =  1, weights = wt)  
    print  '
    '  
    print  '修改后的数组:'  
    print np.average(a, axis =  1, weights = wt, returned =  True)
    
    Python

    输出如下:

    我们的数组是:
    [[0 1]
     [2 3]
     [4 5]]
    
    修改后的数组:
    [ 0.625 2.625 4.625]
    
    修改后的数组:
    (array([ 0.625, 2.625, 4.625]), array([ 8., 8., 8.]))
    

    标准差

    标准差是与均值的偏差的平方的平均值的平方根。 标准差公式如下:

    std = sqrt(mean((x - x.mean())**2))
    
    Python

    如果数组是[1,2,3,4],则其平均值为2.5。 因此,差的平方是[2.25,0.25,0.25,2.25],并且其平均值的平方根除以4,即sqrt(5/4)1.1180339887498949

    示例

    import numpy as np 
    print np.std([1,2,3,4])
    
    Python

    输出如下:

    1.1180339887498949
    
    Python

    方差

    方差是偏差的平方的平均值,即mean((x - x.mean())** 2)。 换句话说,标准差是方差的平方根。

    示例

    import numpy as np 
    print np.var([1,2,3,4])
    
    Python

    输出如下:

    1.25
    
    Python
     
  • 相关阅读:
    EL表达式取整问题
    win7下安装 oracle 10g:permission denied
    jsp引用servlet生成的验证码..
    控制span的width属性
    Spring读书笔记Spring的Bean之设置Bean值
    如何将WEBINF下的jsp页面插入在frameset中
    一友人说有急事要回家,看发生何事
    占淘宝,今日无空,留存
    一人占工作调动
    代码恶心度判定法则
  • 原文地址:https://www.cnblogs.com/navysummer/p/9640813.html
Copyright © 2020-2023  润新知