分组聚合函数
所有组聚合方法都接受一个输入的 group_by 序列参数,并生成一个结果序列,其中包含每个组的计算聚合值。对象的序列会根据 group_by 序列中的值进行分组,该序列应是有序的。
group_agg_count
group_agg_count( group_by )
返回一个序列,其中包含每个组中元素的数量
group_agg_max
group_agg_max( group_by )
返回一个序列,其中包含每个组元素的最大值
group_agg_min
group_agg_min( group_by )
返回一个序列,其中包含每个组元素的最小值
group_agg_first
group_agg_first( group_by )
返回一个序列,其中包含每个组的第一个元素
group_agg_last
group_agg_last( group_by )
返回一个序列,其中包含每个组的最后一个元素
group_agg_sum
group_agg_sum( group_by )
返回一个序列,其中包含每个组元素的总和
group_agg_avg
group_agg_avg( group_by )
返回一个序列,其中包含每个组元素的平均值
group_agg_var
group_agg_var( group_by )
返回一个序列,其中包含每个组元素的方差
group_agg_var_samp
group_agg_var_samp( group_by )
返回一个序列,其中包含每个组元素的样本方差
group_agg_dev
group_agg_dev( group_by )
返回一个序列,其中包含每个组元素的标准差
group_agg_dev_samp
group_agg_dev_samp( group_by )
返回一个序列,其中包含每个组元素的样本标准差
group_agg_approxdc
group_agg_approxdc( group_by )
返回一个序列,其中包含每个组中不同值的近似计数
group_agg_approxdc_hash
group_agg_approxdc_hash( group_by )
返回一个序列,其中包含多个序列中每个组的不同值的近似计数。group_agg_approxdc() 为单个序列的每个组返回近似不同值计数,而 group_agg_approxdc_hash() 为多个序列返回近似不同值计数。
示例
以下是一个展示组聚合函数的示例代码片段:
cursor = con.cursor("Quote", "by_sym")
for quote in cursor:
dayit = quote.day.search(20130101, exdb.SeqIteratorBoundary.MCO_SEQ_BOUNDARY_INCLUSIVE,
20140101, exdb.SeqIteratorBoundary.MCO_SEQ_BOUNDARY_EXCLUSIVE)
volit = dayit.project('volume')
# date is represetned as YYYYMMDD, so to group it by month we should divide date by 100
const_it = exdb.SequenceIterator.const(100, exdb.Database.MCO_DB_FT_SEQUENCE_UINT4)
month_it = dayit.div(const_it)
sum_it = volit.group_agg_sum(month_it)
...