繁体   English   中英

滚动窗口,熊猫窗口大小重叠50%

[英]rolling window with 50% overlapping on window size in pandas

我有一个这样的数据框,它是从CSV导入的。 数据框

我想创建一个大小为256且重叠率为50%的滑动窗口。 例如,window1应该包含索引0-255的数据,window2应该包含索引128-383的数据,依此类推,直到所有数据在各自的窗口中拆分为止。 我正在尝试从pandas滚动roll.windows创建窗口,但没有成功。 我想实现这样的目标。 重叠窗口如何使用Pandas或Numpy中包含的优化方法来做到这一点?

def windows(d, w, t):  
    r = np.arange(len(d))   
    s = r[::t]   
    z = list(zip(s, s + w))   
    f = '{0[0]}:{0[1]}'.format
    g = lambda t: d.iloc[t[0]:t[1]]   
    return pd.concat(map(g, z), keys=map(f, z))   

窗口(d,256128)
d:数据帧w:窗口大小(256)t:重叠因子(例如,窗口大小的50%,即128)。
因此,在传递了上述参数后,该函数将返回窗口大小为256,重叠率为50%的新数据帧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM