5 关于moving以及m系列函数的问题

有一个 indexedMatrix ,其时间标签是datetime格式,我想采用滑动窗口系列函数进行计算:

滑动窗口系列(m 系列) — DolphinDB 1.30 documentation

但是好像 m 系列函数不起作用,如:msum, msum2, mavg, mprod...... 只有在moving中使用相应的函数才有效。请问应该如何正确处理,感谢~    

代码如下:

dates = [
    2012.06.13T08:00:00, 2012.06.13T20:00:00,
    2012.06.14T08:00:00, 2012.06.14T20:00:00,
    2012.06.15T08:00:00, 2012.06.15T20:00:00,
    2012.06.16T08:00:00, 2012.06.16T20:00:00,
    2012.06.17T08:00:00, 2012.06.17T20:00:00
]
m=1..50$10:5;
m.rename!(dates, `col1`col2`col3`col4`col5)
m.setIndexedMatrix!()

moving(sum, m, 3) // 能起作用
msum(m, 3) // 不起作用
moving(avg, m, 3) // 能起作用
mavg(m, 3) // 不起作用


请先 登录 后评论

最佳答案 2024-03-11 14:01

对于 mfunc 如果传入的是索引矩阵实际上会按照索引去滑动,您的索引是时间列,传入的是 3,时间精度是 s,实际就是每 3s 一个窗口,您可以不要 setIndexedMatrix 以实现按行滑动的窗口,或者如果已经是索引矩阵也可以 setIndexedMatrix!(false) 转成普通矩阵

请先 登录 后评论

其它 0 个回答