FAQ > 金融建模 > 建模问题 > 数组操作

Q:对一列数据怎么求和、求平均、求标准差等    

  • A:
    方法1:通过sum函数来求取,此种方法,首先必须先取出该列作为一个一维数组,而且要保证原数组行下标为从0开始的连续的数字。e.g.

    a:=ones(5,5);
    tmp:=sselect [1] from a end;  //或者tmp:=a[:,1];
    return sum(tmp);


    方法2:直接通过类sql语法中的聚集函数来实现。

    a:=ones(5,5);
    return vselect sumof([1]) from a end;

    下面,对不同数据结构的统计函数进行统计:

    统计功能一维连续数组二维数组某列Select时或StatByColumn对应Excel
    最大值MaxValueMaxValueByColumnMaxOfMax
    最小值MinValueMinValueByColumnMinOfMin
    平均值MeanAverageValueByColumnAvgOfAverage
    求和SumSumValueByColumnSumOfSum
    中位数MedianMedianByColumnMedianOfMedian
    众数ModeOfMode
    样本标准差StdDevStdDevByColumnStDevOfStdev
    总体标准差PopnStdDevStdevp
    样本偏差VarianceVarByColumnVarOfVar
    整体偏差PopnVarianceVarPOfVarp
    总体偏差TotalVarianceDevsqByColumnDevSqOf
    平方和的平方根NormNormOf
    与其均值的绝对偏差的平均值AveDevByColumnAveDevOfAvedev
    百分位位置的数PercentValueByFieldPercentTileOfPercentile
    数在百分位位置PercentRankOfPercentrank
    统计分布FrequencyOfFrequency
    某值是否存在RecordExist(t,v)RecordExist2(t,fname,v)Ifnil(vselect v from t end;)Lookup