考虑以下 DF:import pandasmydata = pandas.DataFrame({'TRADE_PRICE': {pandas.Timestamp('2016-07-12 10:52:58.850899935'): 9.23, pandas.Timestamp('2016-07-12 10:55:13.832099915'): 9.23, pandas.Timestamp('2016-07-12 11:09:17.775099993'): 9.22, pandas.Timestamp('2016-07-12 11:09:25.811100006'): 9.22, pandas.Timestamp('2016-07-12 11:09:26.020699978'): 9.22, pandas.Timestamp('2016-07-12 11:09:27.408600092'): 9.22, pandas.Timestamp('2016-07-12 11:11:48.448199987'): 9.22, pandas.Timestamp('2016-07-12 11:11:58.801599979'): 9.21, pandas.Timestamp('2016-07-12 11:11:58.810499907'): 9.21, pandas.Timestamp('2016-07-12 11:11:59.049000025'): 9.21}})现在,mydata.resample('1Min',label = 'right', closed = 'right').last()给我重采样期结束前的最后一笔交易。我需要的是距离重采样期结束至少 5 秒的最后一笔交易。基本上,我想要一种 last() ,它会忽略在重采样期结束前 5 秒内发生的所有交易。所以我希望得到类似的东西: TRADE_PRICE2016-07-12 10:53:00 NaN2016-07-12 10:54:00 NaN2016-07-12 10:55:00 NaN2016-07-12 10:56:00 9.232016-07-12 10:57:00 NaN2016-07-12 10:58:00 NaN2016-07-12 10:59:00 NaN2016-07-12 11:00:00 NaN2016-07-12 11:01:00 NaN2016-07-12 11:02:00 NaN2016-07-12 11:03:00 NaN2016-07-12 11:04:00 NaN2016-07-12 11:05:00 NaN2016-07-12 11:06:00 NaN2016-07-12 11:07:00 NaN2016-07-12 11:08:00 NaN2016-07-12 11:09:00 NaN2016-07-12 11:10:00 9.222016-07-12 11:11:00 NaN2016-07-12 11:12:00 9.22这可能吗?
1 回答

不负相思意
TA贡献1777条经验 获得超10个赞
您可以先过滤掉任何超过 55 秒的记录,然后按原样继续。
mydata_ = mydata[mydata.index.second <= 55]
mydata_.resample('1Min',label = 'right', closed = 'right').last()
返回:
TRADE_PRICE
2016-07-12 10:56:00 9.23
2016-07-12 10:57:00 NaN
2016-07-12 10:58:00 NaN
2016-07-12 10:59:00 NaN
2016-07-12 11:00:00 NaN
2016-07-12 11:01:00 NaN
2016-07-12 11:02:00 NaN
2016-07-12 11:03:00 NaN
2016-07-12 11:04:00 NaN
2016-07-12 11:05:00 NaN
2016-07-12 11:06:00 NaN
2016-07-12 11:07:00 NaN
2016-07-12 11:08:00 NaN
2016-07-12 11:09:00 NaN
2016-07-12 11:10:00 9.22
2016-07-12 11:11:00 NaN
2016-07-12 11:12:00 9.22
添加回答
举报
0/150
提交
取消