若希望contextby与moving或rolling共同操作,返回结果是每个滑动窗口里所有的值(向量),有什么比较好的操作?

烟岚云岫
  • 110

因为之前不常提问,所以思路还是有点混乱,让各位大佬笑话了,我稍微捋了一下,我想问的核心意思是:
我们现在使用的rolling或者moving函数,都是滑动窗口计算出一些统计值,例如再往上封装的mavg等,最后得到的是一个滑动窗口一个值,我理解的就是文档中写的原始输入参数长度一致的向量;
但是其实有时候我是想直接取到滑动窗口里的所有元素,或者对每个滑动窗口中的每个元素进行操作,并将其保存返回;
以我不多的理解,现在咱们的rolling函数有些类似与Python pandas 里的rolling,当然功能更加强大,但pandas中的rolling函数也是无法直接取出直接生成的滑动窗口元素而只是统计指标?
咱们现在有函数或者操作能够满足这样的想法么?
+++++++++++++++++++++++更新分割线++++++++++++++++++++++
我现在想实现这样一个操作:
在数据中先对数据进行分组操作,分组后再对每组数据进行滑动窗口计算,但是是对滑动窗口内的每行元素都进行计算并进行保留,最后返回。
大概想实现的如下两表:

xy
000001.SZ3
000001.SZ4
000001.SZ5
000001.SZ6
000002.SZ6
000002.SZ7
000002.SZ8

处理后希望得到的效果

xyrol_flag
000001.SZ61
000001.SZ81
000001.SZ101
000001.SZ92
000001.SZ112
000001.SZ132

.....
其中rol_flag 指的是第几个滑动窗口的值(最后每行的值不一定相同)
我查阅资料和自己写后发现,无论是contextby还是moving或rolling,都只能返回与输入参数长度一致的向量。
我确实比较小白,如果用最笨的方法就是扩表,就是在分组后,先使用复制等操作,人工将表的长度拉长,再进行rolling操作?这种方法是否比较耗资源?
大佬们是否有更好的一些方法?希望各位大佬指点!

回复
阅读 666
2 个回答

x列表示什么?111222经过什么计算后变成111111?y呢

不是太明白您的意思。如果想把多次rolling的结果放在一起可以使用unionAll函数

你知道吗?

宣传栏