我有一个数据帧,它有一个变量和一个等距的日期时间索引(索引的粒度为1秒)。假设总共有1000个样本:
dates = pd.date_range('2015-1-1', periods=(1000) ,freq='S')
df = pd.DataFrame(np.random.rand(1000),index=dates, columns=['X'])
X
2015-01-01 00:00:00 2.2
2015-01-01 00:00:01 2.5
2015-01-01 00:00:02 1.2
2015-01-01 00:00:03 1.5
2015-01-01 00:00:04 3.7
2015-01-01 00:00:05 3.1
etc
我想确定滚动窗口(给定长度)的开始,该窗口包含给定窗口大小内包含最小值数字的最大集合。你知道吗
所以在上面的例子中,如果窗口的大小是2,答案是:
start_index = 2015-01-01 00:00:02
end_index = 2015-01-01 00:00:03
我试着阅读pandas
文档,看看是否有一个滚动计算可以提供帮助,但没有运气!谢谢。你知道吗
你只需要在
df['X'] == df['X'].min()
上做rolling_sum
。那么窗口的结尾就是:为了获得窗口的开始位置,您可以移动窗口的结束位置,也可以移动序列:
相关问题 更多 >
编程相关推荐