通过两个指针遍历数据实现窗口划分,数据量大了之后运行效率很低
使用python pandas.rolling()进行移动窗口计算时,windows为固定窗口长度,能否实现窗口长度为动态长度,窗口长度根据窗口内观测值的总和大于某一个值实现。
import pandas as pd
windows = []
df = pd.DataFrame({ 'A' : [1,2,3,1,3,2,1,2,3,1,2,3,2,1,2,2,1], 'B' : [1,2,3,1,3,2,1,2,3,1,2,3,2,1,2,2,1]})
for e in range(len(data) - 1, 0, -1):
for s in range(e - 1, -1, -1):
windwo_cell = df.iloc[s,e+1]
if window_cell['A'].sum() > 3:
windows.append(window_cell)
break
得到窗口内观测值['A']总和大于3的窗口总和,有没有其他运行效率高的方法