数字时间64:如何获取numpy datetime64的工作日,并检查它是否介于time1和time2之间

2024-06-13 10:25:42 发布

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

如何检查numpy datetime是否在time1和time2之间(没有日期)。 假设我有一系列的日期时间,我想检查它的工作日,以及它是否在13:00到13:30之间。例如

2014-03-05 22:55:00 

是婚礼,不是在13:00到13:30之间


Tags: numpydatetime时间婚礼工作日time1time2
1条回答
网友
1楼 · 发布于 2024-06-13 10:25:42

使用pandas,可以使用DatetimeIndex.indexer_between_time方法来查找时间在13:00到13:30之间的日期。在

例如

import pandas as pd

dates = pd.date_range('2014-3-1 00:00:00', '2014-3-8 0:00:00', freq='50T')
dates_between = dates[dates.indexer_between_time('13:00','13:30')]
wednesdays_between = dates_between[dates_between.weekday == 2]

这是dates中的前5项:

^{pr2}$

请注意,这些日期都在13:00到13:30之间:

In [96]: dates_between.tolist()[:5]
Out[96]: 
[Timestamp('2014-03-01 13:20:00', tz=None),
 Timestamp('2014-03-02 13:30:00', tz=None),
 Timestamp('2014-03-04 13:00:00', tz=None),
 Timestamp('2014-03-05 13:10:00', tz=None),
 Timestamp('2014-03-06 13:20:00', tz=None)]

在这些日期中,只有一个是星期三:

In [99]: wednesdays_between.tolist()
Out[99]: [Timestamp('2014-03-05 13:10:00', tz=None)]

相关问题 更多 >