我有一个带有日期时间时间戳的数据框(每 1 分钟)。我想将行之间的时间间隔增加到 5 分钟。基本上保留第 0、5、10 行等并删除其余行。我该怎么做?
Date Value
17/08/2017 04:00:00 0
17/08/2017 04:01:00 1
17/08/2017 04:02:00 2
17/08/2017 04:03:00 3
17/08/2017 04:04:00 4
17/08/2017 04:05:00 5
17/08/2017 04:06:00 6
17/08/2017 04:07:00 7
17/08/2017 04:08:00 8
17/08/2017 04:09:00 9
17/08/2017 04:10:00 10
谢谢
答案 0 :(得分:2)
首先使用 to_datetime()
方法将日期列转换为 datetime dtype(如果它已经是 datetime 则忽略此步骤):
df['Date']=pd.to_datetime(df['Date'])
最后你可以通过布尔掩码来做到这一点:
newdf=df[df['Date'].dt.minute%5==0]
现在,如果您打印 newdf
,您将获得所需的输出:
Date Value
0 2017-08-17 04:00:00 0
5 2017-08-17 04:05:00 5
10 2017-08-17 04:10:00 10
如果需要,使用 reset_index()
方法:
newdf=newdf.reset_index(drop=True)
以上代码的输出:
Date Value
0 2017-08-17 04:00:00 0
1 2017-08-17 04:05:00 5
2 2017-08-17 04:10:00 10