Python Pandas – 从 CustomBusinessHour offset 对象中以 24 小时格式显示自定义营业时间的结束时间

Python Pandas – 从 CustomBusinessHour offset 对象中以 24 小时格式显示自定义营业时间的结束时间

如果你需要处理时间序列数据和自定义营业时间,那么 Pandas 库中的 CustomBusinessHour 对象可以帮助你快速自定义营业时间,例如,从周一到周五上班时间是从早上 9 点到下午 5 点,周六和周日的营业时间不一样。当你使用 CustomBusinessHour.offset,也就是营业时间的偏移量时,需要知道自然时间和营业时间的转换规则,以便在数据分析中使用。

下面是一个例子,如果我们需要在一个 CustomBusinessHour offset 对象上获取营业时间的结束时间。

import pandas as pd
from pandas.tseries.offsets import CustomBusinessHour

biz_hour = CustomBusinessHour(
    start='09:00', end='17:00', weekmask='Mon Tue Wed Thu Fri'
)

dt = pd.Timestamp('2021-10-08 16:15:00')
end_time = biz_hour.rollforward(dt)
print(end_time)

这个例子创建了一个从周一到周五上班时间的 CustomBusinessHour 对象。在这个对象上,使用 rollforward 方法可以将输入的时间或者时间序列往后推进到下一个业务时点。这里输入时间是 2021-10-08 16:15:00,使用 rollforward 方法可以获得营业时间的结束时间 2021-10-08 17:00:00。

如果你需要将营业时间的结束时间以 24 小时格式进行表示,可以使用 strftime 方法。strftime 方法接受一个格式化字符串,可以输出不同的时间表示形式。

end_time_formatted = end_time.strftime('%Y-%m-%d %H:%M:%S')
print(end_time_formatted)

这里以 %Y-%m-%d %H:%M:%S 的格式来表示时间,其中 %H 表示小时(00 到 23),%M 表示分钟(00 到 59),%S 表示秒(00 到 59)。这样输出的字符串是 2021-10-08 17:00:00。

下面是完整的代码。

import pandas as pd
from pandas.tseries.offsets import CustomBusinessHour

biz_hour = CustomBusinessHour(
    start='09:00', end='17:00', weekmask='Mon Tue Wed Thu Fri'
)

dt = pd.Timestamp('2021-10-08 16:15:00')
end_time = biz_hour.rollforward(dt)

end_time_formatted = end_time.strftime('%Y-%m-%d %H:%M:%S')
print(end_time_formatted)

使用这种方式获取营业时间的结束时间,可以方便地进行各种数据分析和计算。

更多Pandas相关文章,请阅读:Pandas 教程

结论

本文介绍了如何使用 Pandas 中的 CustomBusinessHour.offset 对象获取自定义营业时间的结束时间,以及如何使用 Python 的 strftime 函数将时间转换为 24 小时格式。这是处理时间序列数据时非常有用的技巧,可以节省大量的时间和精力。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程