因为之前不常提问,所以思路还是有点混乱,让各位大佬笑话了,我稍微捋了一下,我想问的核心意思是:
我们现在使用的rolling或者moving函数,都是滑动窗口计算出一些统计值,例如再往上封装的mavg等,最后得到的是一个滑动窗口一个值,我理解的就是文档中写的原始输入参数长度一致的向量;
但是其实有时候我是想直接取到滑动窗口里的所有元素,或者对每个滑动窗口中的每个元素进行操作,并将其保存返回;
以我不多的理解,现在咱们的rolling函数有些类似与Python pandas 里的rolling,当然功能更加强大,但pandas中的rolling函数也是无法直接取出直接生成的滑动窗口元素而只是统计指标?
咱们现在有函数或者操作能够满足这样的想法么?
+++++++++++++++++++++++更新分割线++++++++++++++++++++++
我现在想实现这样一个操作:
在数据中先对数据进行分组操作,分组后再对每组数据进行滑动窗口计算,但是是对滑动窗口内的每行元素都进行计算并进行保留,最后返回。
大概想实现的如下两表:
x | y |
---|
000001.SZ | 3 |
000001.SZ | 4 |
000001.SZ | 5 |
000001.SZ | 6 |
000002.SZ | 6 |
000002.SZ | 7 |
000002.SZ | 8 |
处理后希望得到的效果
x | y | rol_flag |
---|
000001.SZ | 6 | 1 |
000001.SZ | 8 | 1 |
000001.SZ | 10 | 1 |
000001.SZ | 9 | 2 |
000001.SZ | 11 | 2 |
000001.SZ | 13 | 2 |
.....
其中rol_flag 指的是第几个滑动窗口的值(最后每行的值不一定相同)
我查阅资料和自己写后发现,无论是contextby还是moving或rolling,都只能返回与输入参数长度一致的向量。
我确实比较小白,如果用最笨的方法就是扩表,就是在分组后,先使用复制等操作,人工将表的长度拉长,再进行rolling操作?这种方法是否比较耗资源?
大佬们是否有更好的一些方法?希望各位大佬指点!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…