检索具有日期时间索引的熊猫数据框的特定时间间隔

时间:2019-03-19 16:07:28

标签: python pandas datetime time-series

我有一个带有日期时间索引的熊猫数据框。假设datetime索引从时间t1开始,熊猫是否有办法在从时间t1开始的每个15分钟时间间隔内返回数据帧的行?

进一步,是否有可能对这15分钟间隔内的所有条目求平均并返回它们?

Datetime            Value
2018-10-08 00:00:01 100.70
2018-10-08 00:00:20 98.70
2018-10-08 00:00:34 112.60
2018-10-08 00:00:00 38.30
2018-10-08 00:01:02 60.30
2018-10-08 00:01:24 115.85
2018-10-08 00:02:00 76.10

当前,我通过创建自己的time_intervals并使用between_time来解决此问题,间隔时间为1小时,但是我觉得应该使用熊猫datetime索引来做这件事。

time_intervals=[("{}:00:00".format(i),"{}:00:00".format(i+1)) for i in range(23)]


means_list=[df.between_time(time_interval[0],time_interval[1]).mean()[0] for time_interval in time_intervals]

1 个答案:

答案 0 :(得分:0)

  

“我有一个带有datetime索引的pandas数据框。假设datetime   索引从时间t1开始,熊猫是否有办法返回行   从每个数据说的15分钟时间间隔开始   时间t1?”

最好使用resample解决此问题: 如果要获取给定时间段的第一个元素,请使用

df.resample('15m').first()

但是,如果您想获取给定时间段内的最后一个元素,则应使用

df.resample('15m').last()
  

“此外,是否可以对这些条目之间的所有条目取平均值   请间隔15分钟并返回?”

是的,这也可以通过resample完成:

df.resample('15m').mean()