我有foundafew相关的问题,但似乎没有一个能做到这一点。我想要一个类似于this的实现,但是使用pandas数据帧结构。下面我创建了整个2016年的样本数据,共有366行。在
import pandas as pd
import numpy as np
dates=pd.date_range('2016-01-01','2016-12-31')
random_data=np.random.randn(len(dates))
data=pd.DataFrame(random_data,index=dates,columns=['Test'])
我想使用groupby每隔2天获取5天的数据。普通的groupby没有重叠的时间帧;将groupby设置为2天将得到183个(366/2)组,其中包含两天的数据。将groupby设为5天,我将得到大约74个(366/5)组,每个组有5天。我想要183组,每个组有5天。在
如果不清楚,请提前道歉。我想要的是:
^{pr2}$这就是我得到的data.groupby(pd.TimeGrouper('2d'))
Test
2016-02-08 1.073696
2016-02-09 1.169865
Test
2016-02-10 1.421454
2016-02-11 -0.576036
Test
2016-02-12 -1.066921
2016-02-13 2.639681
这就是我得到的data.groupby(pd.TimeGrouper('5d'))
Test
2016-02-08 0.898029
2016-02-09 -0.905950
2016-02-10 -0.202483
2016-02-11 1.073696
2016-02-12 1.169865
Test
2016-02-13 1.421454
2016-02-14 -0.576036
2016-02-15 -1.066921
2016-02-16 2.639681
2016-02-17 -0.261616
如果日期是正态序列,如示例数据所示相差一天,则可以使用index来提取行。从每两行开始,为每个pick选择五行:
相关问题 更多 >
编程相关推荐