熊猫重新采样到固定的日期时间

时间:2018-07-09 13:08:48

标签: python pandas time-series

重新采样非常适合我两次之间对行进行升采样。

例如时间序列(ts)如下:

_time                  num
2018-04-11 07:55:00    1
2018-04-11 07:59:00    1

我可以跑步:

ts.resample('min').sum().fillna(0)

并获取:

_time                  num
2018-04-11 07:55:00    1
2018-04-11 07:56:00    0
2018-04-11 07:57:00    0
2018-04-11 07:58:00    0
2018-04-11 07:59:00    1

但是,无论如何,我想重新采样到午夜,而不是重新采样到系列的最后一行。

例如最终输出为:

_time                  num
2018-04-11 07:55:00    1
2018-04-11 07:56:00    0
2018-04-11 07:57:00    0
2018-04-11 07:58:00    0
2018-04-11 07:59:00    1
...
2018-04-11 23:58:00    0
2018-04-11 23:59:00    0
2018-04-12 00:00:00    0

一种解决方案是在_time为午夜且num为0的系列中添加一行。

但是,有没有更优雅的内置解决方案?

1 个答案:

答案 0 :(得分:1)

虽然没有内置解决方案可以像{em> midnight (AFAIK)那样使用resample达到所需的终点,但请考虑一种动态解决方案,以基于当前添加行使用pd.concat来计算ts 数据,该值是计算出的 midnight 系列的单值。

具体来说,通过采用 ts max索引值并将其标准化为午夜,然后使用datetime的{{ 1}}:

timedelta()