以下是一个示例代码,演示了如何按小时和天计算员工人数。
from datetime import datetime
# 定义一个Employee类,用于表示员工
class Employee:
def __init__(self, name, start_time, end_time):
self.name = name
self.start_time = start_time
self.end_time = end_time
# 定义一个函数,用于按小时计算员工人数
def count_employees_by_hour(employees, hour):
count = 0
for employee in employees:
if employee.start_time <= hour < employee.end_time:
count += 1
return count
# 定义一个函数,用于按天计算员工人数
def count_employees_by_day(employees, day):
count = 0
for employee in employees:
if employee.start_time.date() <= day < employee.end_time.date():
count += 1
return count
# 创建一些员工实例
employees = [
Employee("John", datetime(2021, 1, 1, 9), datetime(2021, 1, 1, 17)),
Employee("Alice", datetime(2021, 1, 1, 10), datetime(2021, 1, 1, 18)),
Employee("Bob", datetime(2021, 1, 2, 8), datetime(2021, 1, 2, 16)),
]
# 按小时计算员工人数
hour = datetime(2021, 1, 1, 12)
hour_count = count_employees_by_hour(employees, hour)
print(f"在{hour}时,有{hour_count}个员工在工作")
# 按天计算员工人数
day = datetime(2021, 1, 1)
day_count = count_employees_by_day(employees, day)
print(f"在{day.date()},有{day_count}个员工在工作")
在上述示例中,我们定义了一个Employee类,表示员工,包含姓名、上班时间和下班时间等属性。然后我们定义了两个函数:count_employees_by_hour用于按小时计算员工人数,count_employees_by_day用于按天计算员工人数。
我们创建了一些员工实例,并调用上述两个函数来计算员工人数。最后打印出结果。
请注意,示例中使用了Python的datetime模块来处理日期和时间。在实际应用中,您可能需要根据具体情况进行调整。
上一篇:按小时和天分组pandas数据帧
下一篇:按小时和帖子进行分组(多个)