使用特定日期时间值删除pandas数据帧中的某些行

时间:2017-06-11 14:38:45

标签: python pandas datetime dataframe

我有一个数据框,我只对整整一小时的值感兴趣。这就是我的数据:

0     2016-01-01 00:00:00  11.263
1     2016-01-01 00:15:00  11.244
2     2016-01-01 00:30:00  11.109
3     2016-01-01 00:45:00  10.975
4     2016-01-01 01:00:00  10.849

数据框大约有50 000行。我希望它看起来像:

0     2016-01-01 00:00:00  11.263
4     2016-01-01 01:00:00  10.849

我只想在整个小时(凌晨1点到凌晨2点)看到这些值。有没有可能这样做?我一直在尝试一些东西,但它并没有真正成功。我不得不承认我对python很新。

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:1)

您可以使用boolean indexing将列datefloor的截断值进行比较:

df['date'] = pd.to_datetime(df['date'])

mask = df['date'] == df['date'].dt.floor('H')
df = df[mask]
print (df)
                 date     val
0 2016-01-01 00:00:00  11.263
4 2016-01-01 01:00:00  10.849