在日常工作中,員工排班是一項關鍵的任務,需要將職員的不同需求和能力進行平衡,以確保企業運轉順暢。為了提高排班效率,許多企業都選擇使用Python編寫排班程序。
# 下面是一個Python排班程序的簡單示例代碼 # 導入必要的庫 import pandas as pd from datetime import datetime, timedelta # 設置職員信息 staff_info = pd.DataFrame({ 'name': ['員工1', '員工2', '員工3', '員工4'], 'shifts_per_week': [5, 4, 4, 3], 'max_consecutive_workdays': [4, 3, 3, 2] }) # 設置排班開始和結束日期 start_date = datetime(2022, 1, 1) end_date = datetime(2022, 1, 7) # 定義排班函數 def make_schedule(staff_info, start_date, end_date): schedule = pd.DataFrame(columns=['name', 'date']) for idx, staff in staff_info.iterrows(): num_shifts = 0 consecutive_workdays = 0 for date in pd.date_range(start_date, end_date): if num_shifts< staff['shifts_per_week'] and consecutive_workdays< staff['max_consecutive_workdays']: schedule = schedule.append({'name': staff['name'], 'date': date}, ignore_index=True) num_shifts += 1 consecutive_workdays += 1 elif num_shifts == staff['shifts_per_week']: num_shifts = 0 consecutive_workdays = 0 elif consecutive_workdays == staff['max_consecutive_workdays']: consecutive_workdays = 0 return schedule # 運行排班函數 schedule = make_schedule(staff_info, start_date, end_date) # 輸出排班結果 print(schedule)
以上是排班程序的簡單示例代碼。該程序首先向程序提供職員信息、排班開始和結束日期等參數,然后使用Pandas庫生成排班計劃。由于程序使用Python編寫,因此可以根據具體的需求對程序進行定制,以滿足企業的個性化需求。
總之,Python是一種強大而靈活的編程語言,能夠幫助企業提高排班效率,優化人力資源管理。因此,我們建議企業在實際應用中積極探索Python排班方案,以提高企業的運營效率。
上一篇python 給圖片打碼
下一篇python 給文件權限