如何在Python中从DataFrame中提取小时数据?

3
我有以下的df
     dates         Final
2020-01-01 00:15:00 94.7
2020-01-01 00:30:00 94.1
2020-01-01 00:45:00 94.1
2020-01-01 01:00:00 95.0
2020-01-01 01:15:00 96.6
2020-01-01 01:30:00 98.4
2020-01-01 01:45:00 99.8
2020-01-01 02:00:00 99.8
2020-01-01 02:15:00 98.0
2020-01-01 02:30:00 95.1
2020-01-01 02:45:00 91.9
2020-01-01 03:00:00 89.5

整个数据集截止至 2021-01-01 00:00:00 95.6,每15分钟一次。

由于频率为15分钟,我想将其更改为1小时,并可能删除中间值。

期望输出

      dates        Final
2020-01-01 01:00:00 95.0
2020-01-01 02:00:00 99.8
2020-01-01 03:00:00 89.5

在最后一行是2021-01-01 00:00:00 95.6的情况下,如何实现这个功能?

谢谢

2个回答

3
使用 Series.dt.minute 进行 布尔索引:
df_filtered = df.loc[df['dates'].dt.minute.eq(0)]
#if necessary
#df_filtered = df.loc[pd.to_datetime(df['dates']).dt.minute.eq(0)]
print(df_filtered)
                 dates  Final
3  2020-01-01 01:00:00   95.0
7  2020-01-01 02:00:00   99.8
11 2020-01-01 03:00:00   89.5

0

如果你正在进行数据分析或数据科学,我认为删除中间值并不是一个好的方法!我猜你应该对它们求和(我不知道你的用例,但我了解一些关于时间序列数据的知识)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接