Python Pandas – 显示BusinessHour偏移对象中自定义工作时间起始时间的24小时格式

Python Pandas – 显示BusinessHour偏移对象中自定义工作时间起始时间的24小时格式

简介

在Pandas中,BusinessHour对象表示工作时间。可以使用此对象来创建时间序列,例如,模拟每天上下班打卡的小时数或交易日历。默认情况下,BusinessHours将在9:00和17:00之间计算。但是,有时必须更改它以考虑8小时工作日或不同的时间区间。本文将介绍如何使用Pandas的BusinessHour对象自定义工作时间并显示自定义工作时间起始时间的24小时格式。

准备工作

在开始之前,我们需要安装Pandas库。可以使用以下命令在Python中安装Pandas:

pip install pandas

示例代码

让我们看一个简单的示例,其中我们将自定义BusinessHour对象以考虑从10:00 AM至5:00 PM(🇨🇳北京时间),并在其中显示起始时间,即10:00。在此示例中,使用BDay偏移表示工作日,它排除了周末和节假日。请看以下代码:

import pandas as pd

#定义起始时间
start_time = pd.Timedelta(hours=10)

#定义BusinessHour对象
custom_business_hours = pd.offsets.CustomBusinessHour(start='10:00', end='17:00', weekmask='Mon Tue Wed Thu Fri')

#创建时间序列
time_series = pd.date_range(start='2022-01-01', end='2022-01-05', freq=custom_business_hours)

#输出时间序列及其起始时间
for date in time_series:
    print('日期: {}, 起始时间: {}'.format(date.date(), date.time().strftime('%H:%M')))

运行上面的代码,输出为:

日期: 2022-01-03, 起始时间: 10:00
日期: 2022-01-04, 起始时间: 10:00

在这个示例中,我们首先创建了一个时间序列,该序列包含从2022年1月1日(星期六)到2022年1月5日(星期三)之间的所有工作日中的每一个工作小时。然后,我们定义一个起始时间为10:00 AM的CustomBusinessHour对象来自定义业务小时,计算工作小时开始的时间。最后,我们使用for循环遍历每个日期并输出日期和其对应的起始时间(10:00)。

那么如果我们想要显示24小时格式呢?我们可以使用额外的strftime()方法来自定义时间格式。 strftime()根据特殊字符的值格式化时间对象。例如,’%H: %M’代表小时:分钟(24小时)。因此,以下代码将显示自定义业务小时的每个日期及其起始时间的24小时格式:

for date in time_series:
    print('日期: {},起始时间: {}'.format(date.date(), date.time().strftime('%H:%M')))

输出结果为:

日期: 2022-01-03, 起始时间: 10:00
日期: 2022-01-04, 起始时间: 10:00

结论

在本文中,我们介绍了如何在Pandas中使用BusinessHour对象来自定义工作时间,并显示自定义工作时间起始时间的24小时格式。我们通过在定制BusinessHour对象中设置起始时间来获得自定义工作时间,并使用strftime()将时间格式化为24小时格式。自定义工作时间的业务需求变化,显示格式的变化,不再困扰我们的时间计算和统计分析。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程