zoukankan      html  css  js  c++  java
  • 数学和统计方法

    介绍几个基础数组统计方法:

    1、 sum():沿着轴向计算所有原色的累和,0长度的数组累和为0

    import  numpy as np
    arr = np.array([[3,3],[1,9],[4,8]])
    print(arr)
    print(arr.mean(1))# axis=1的时候行平均值  0的时候计算列平均值(书本112页有错误)
    
    结果
    [[3 3]
     [1 9]
     [4 8]]
    --------
    [3. 5. 6.]
    

    2、mean():求数学平均,0长度的数组平均值为NaN

    print(arr.sum(1)) #axis=1的时候行和 0 的时候计算列和
    print('--------')
    
    
    结果
    [3. 5. 6.]
    

    3、cumsum():从0 开始元素累积和

    arr1 = np.array([0,1,2,3,4,5,6,7,8])
    print(arr1.cumsum())
    
    
    结果
    [ 0  1  3  6 10 15 21 28 36]
    #结果解析:从0开始加,一开始的值就是0,0开始加第一个数,0+0=0,上一个结果拿来继续加数组第二个数字 0+1=1 ,1+2=3, 3+3=6。。。。。。以此类推
    

    4、cumprod():从1开始元素累积积

    arr2 = np.array([[0,1,2],[3,4,5],[6,7,8]])
    print(arr2)
    print('------------')
    print(arr2.cumsum(axis=0))
    print('------------')
    print(arr2.cumprod(axis=1))
    
    
    结果
    [[0 1 2]
     [3 4 5]
     [6 7 8]]
    ------------
    [[ 0  1  2]
     [ 3  5  7]
     [ 9 12 15]]
    ------------
    [[  0   0   0]
     [  3  12  60]
     [  6  42 336]]
    #结果解析:cumsum加了axis=0 之后就是按列来算    cumprod指定了axis=1,所以是行,从1开始乘,1*0=0,所以第一行全都是0,第二行就是1*3=3, 3*4=12,  12*5=60,第三行就是1*6=6,6*7=42,42*8=336.
    

    axit这个参数很重要,如果不写的话就会把你的结果变成是一个一位数组,而不是默认为axis=0 !!

    基本统计方法

    方法 作用
    sum 求和
    mean 均值
    std,var 标准差和方差(自由度默认为n)
    min,max 极值
    argmin,argmax 极值的索引
    cumsum 所有元素累和
    cumprob 所有元素累积
  • 相关阅读:
    软件设计师 -算法设计与分析
    windows下git使用
    SourceTree免注册并连码云
    软件设计师-软件工程基础知识
    基本约瑟夫环问题详解
    SGU180(树状数组,逆序对,离散)
    POJ(1195)(单点修改,区间查询)(二维)
    C++ bitset
    冯志远0920
    怎样学好哲学(lucas+费马小定理)
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11762430.html
Copyright © 2011-2022 走看看