将对象转换为时间并在时间之间过滤

2024-03-29 11:31:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,其中一列包含一系列数据类型“o”项:

0         17:32:16
1         17:32:20
2         17:32:24
3         17:32:28
4         17:32:32
5         17:32:36
6         17:32:40
7         17:32:44
8         17:32:48
9         17:32:52
10        17:32:56
11        17:33:00
12        17:33:04
13        17:33:08
14        17:33:12
15        17:33:16

如何将它转换为时间,以便在17:32:30和17:33:10之间进行过滤? 当时我尝试却没有成功:

df_result['a']=datetime.datetime(df_result['a'], '%H%M%S').time()

有什么帮助吗?先谢谢你


Tags: 数据dfdatetimetime时间result数据类型
1条回答
网友
1楼 · 发布于 2024-03-29 11:31:05

通过^{}^{}创建时间,然后使用^{}^{}

from datetime import time

df_result['a'] = pd.to_datetime(df_result['a']).dt.time
df_result = df_result[df_result['a'].between(time(17, 32, 30), time(17, 33, 10))]

print (df_result)
           a
4   17:32:32
5   17:32:36
6   17:32:40
7   17:32:44
8   17:32:48
9   17:32:52
10  17:32:56
11  17:33:00
12  17:33:04
13  17:33:08

^{}创建的timedelta的另一种方法:

df_result['a'] = pd.to_timedelta(df_result['a'])
df_result = df_result[df_result['a'].between('17:32:30', '17:33:10')]

print (df_result)
          a
4  17:32:32
5  17:32:36
6  17:32:40
7  17:32:44
8  17:32:48
9  17:32:52
10 17:32:56
11 17:33:00
12 17:33:04
13 17:33:08

相关问题 更多 >