Amy*_*myN 5 numpy pandas python-3.5
我正在尝试找到一种非常干净的方法来计算两个日期之间的小时数(不包括周末和某些假期)。
我发现 BusinessHours 包(https://pypi.python.org/pypi/BusinessHours/1.01)可以做到这一点。但是我没有找到任何关于如何使用该包(实际上是语法)的说明,特别是如何输入假期。我找到了该包的原始代码(https://github.com/dnel/BusinessHours/blob/master/BusinessHours.py),但仍然不太确定。我想可能是这样的:
date1 = pd.to_datetime('2017-01-01 00:00:00')
date2 = pd.to_datetime('2017-01-22 12:00:00')
import BusinessHour
gethours(date1, date2, worktiming=[8, 17], weekends=[6, 7])
Run Code Online (Sandbox Code Playgroud)
不过,我可以在哪里输入假期呢?如果我不想排除非办公时间,我是否只需将其调整worktiming为worktiming=[0,23]?
有谁知道如何使用这个包请告诉我。我很感激。
P/s:我知道 numpy 中有一个命令可以获取两个日期之间的工作日数(busday_count),但没有命令可以获取以小时为单位的结果。pandas 或 numpy 中任何其他可以完成任务的命令也受到欢迎。谢谢
小智 0
该软件包 1.2 的最新 pip 安装在第 51 行有一个错误,其中包含“extraday”,需要将其更改为“extradays”。
我也一直在互联网上搜索一些可行的代码来计算工作时间和工作日。这个包有一些调整,但当你启动并运行它时,它工作得很好。
这是我笔记本上的内容:
#import BusinessHours
from BusinessHours import BusinessHours as bh
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
date1 = pd.to_datetime('2017-01-01 00:00:00')
date2 = pd.to_datetime('2017-01-22 12:00:00')
bh(date1, date2, worktiming=[8, 17], weekends=[6, 7]).gethours()
Run Code Online (Sandbox Code Playgroud)
这也在源代码中:
'''
holidayfile - A file consisting of the predetermined office holidays.
Each date starts in a new line and currently must only be in the format
dd-mm-yyyy
'''
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
8796 次 |
| 最近记录: |