python - 获取当前时间之前的最近时间,该时间可被 5 整除
问题描述
我有一个数据框,其中有一列的时间数据格式为 HH:MM:SS。示例数据如下所示,以供参考:
Time
09:25:03
09:28:40
09:36:12
09:36:14
09:41:10
09:51:00
09:58:48
10:00:11
10:00:17
10:21:44
10:21:53
10:32:58
11:08:59
11:45:55
11:49:14
12:18:54
12:21:22
13:05:47
13:19:37
13:19:57
13:25:22
14:21:10
我想获得当前时间之前的最近时间,该时间可以被 5 整除。我想要如下输出:
Time Nearest_Time
09:25:03 09:25:00
09:28:40 09:25:00
09:36:12 09:35:00
09:36:14 09:35:00
09:41:10 09:40:00
09:51:00 09:50:00
09:58:48 09:50:00
10:00:11 10:00:00
10:00:17 10:00:00
10:21:44 10:20:00
10:21:53 10:20:00
10:32:58 10:30:00
11:08:59 11:05:00
11:45:55 11:45:00
11:49:14 11:45:00
12:18:54 12:15:00
12:21:22 12:20:00
13:05:47 13:05:00
13:19:37 13:15:00
13:19:57 13:15:00
13:25:22 13:25:00
14:21:10 14:20:00
解决方案
您可以使用dt.floor
设置freq
为 5 分钟:
pd.to_datetime(df.Time).dt.floor('5 min')
0 2020-02-14 09:25:00
1 2020-02-14 09:25:00
2 2020-02-14 09:35:00
3 2020-02-14 09:35:00
4 2020-02-14 09:40:00
5 2020-02-14 09:50:00
6 2020-02-14 09:55:00
7 2020-02-14 10:00:00
8 2020-02-14 10:00:00
9 2020-02-14 10:20:00
10 2020-02-14 10:20:00
11 2020-02-14 10:30:00
12 2020-02-14 11:05:00
13 2020-02-14 11:45:00
14 2020-02-14 11:45:00
15 2020-02-14 12:15:00
16 2020-02-14 12:20:00
17 2020-02-14 13:05:00
18 2020-02-14 13:15:00
19 2020-02-14 13:15:00
20 2020-02-14 13:25:00
21 2020-02-14 14:20:00
Name: Time, dtype: datetime64[ns]
推荐阅读
- logstash - Logstash TLS 握手失败
- swift - 结合 SwiftUI 在 Swift5 中存储数据的最常见方式
- autodesk-forge - 如何实现“Autodesk.AEC.LevelsExtension”和“Autodesk.AEC.Minimap3DExtension”
- javascript - 如何在d3中创建一条线?
- python - 在 HED 算法中检测大颗粒旁边的小颗粒的替代方法
- visual-studio-code - 无法在 RHEL8 上以 root 身份运行 Visual Studio 代码
- asp.net - 在 Google Colab 上安装 .NET Core
- react-native - 无法在 React Native 0.61.5 新项目上安装 pod
- haskell - 使用最近的集合重复从 Postgres 获取值
- javascript - findByIdAndUpdate 不更新