如何更改基于 CustomBusinessHour 的周掩码中的开始结束时间等于星期一

2023-12-08

如果我从 startdate 和 enddate 在 weekmask 列表中得到星期一,我想更改 CustomBusinessHour 中的开始结束时间。 开始 = 00:01 结束 = 23:59

如果我得到周一黑白开始日期和结束日期,我正在尝试将此开始更改为 07:00 并结束 =23:59

data = { 
    'start': ['2018-10-29 18:48:46.697000',
              '2018-10-29 19:01:10.887000',
              '2018-10-22 17:42:24.467000'], 
    'end': ['2018-10-31 17:56:38.830000',
            '2018-11-27 09:31:39.967000',
            '2018-11-28 18:33:35.243000' ]   
}
df = pd.DataFrame(data)

bh = CustomBusinessHour(calendar=USFederalHolidayCalendar(),start='00:01', end='23:59')
df['Hours_diff'] = df.apply(lambda x: len(pd.date_range(start=x.start, end=x.end, freq= bh)),axis=1)

你可以使用apply用一个函数来提供开始和结束datetime对于每一行。然后你在你的上面使用一个面具CustomBusinessHour.

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

data = { 
    'start': ['2018-10-29 18:48:46.697000',
              '2018-10-29 19:01:10.887000',
              '2018-10-22 17:42:24.467000'], 
    'end': ['2018-10-31 17:56:38.830000',
            '2018-11-27 09:31:39.967000',
            '2018-11-28 18:33:35.243000' ]   
}
df = pd.DataFrame(data)

bh = CustomBusinessHour(calendar=USFederalHolidayCalendar(), start='00:01', end='23:59')

def f(x):
    idx = pd.date_range(start=x.start, end=x.end, freq= bh)
    mask = ~((idx.dayofweek == 0) & (idx.hour <= 7))

    return len(idx[mask])

df['Hours_diff'] = df.apply(f, axis=1)

Gives

                        start                         end  Hours_diff
0  2018-10-29 18:48:46.697000  2018-10-31 17:56:38.830000          42
1  2018-10-29 19:01:10.887000  2018-11-27 09:31:39.967000         391
2  2018-10-22 17:42:24.467000  2018-11-28 18:33:35.243000         527

确保它是正确的,我没有检查过。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改基于 CustomBusinessHour 的周掩码中的开始结束时间等于星期一 的相关文章

随机推荐

  • C#同时更新两个文本框?

    假设我有两个文本框 一个包含二进制数据 另一个包含 ASCII 等效数据 如果用户更改其中任何一个 我如何同时更新另一个文本框 而无需按按钮 你必须防止无限循环 asciiTextBox变化binaryTextBox Text这改变了asc
  • 获取或插入 PostgreSQL

    我有一个对象表 其中包含多个属性的列和一个具有唯一 SERIAL 标识符的列 例如 CREATE TABLE person id SERIAL NOT NULL name VARCHAR 16 NOT NULL age INT NOT NU
  • 如何防止Android中移动网站的深度链接?

    我已经为我的所有活动添加了这样的深层链接
  • Android 字符串比较不起作用

    我很难使用 Java 比较 Android 中的两个字符串 我所做的是运行 HTTP get 请求 该请求返回 yes 或 no 并根据该请求决定是否启动新活动 我正在 Async onPostExecute 方法中执行字符串比较 尽管 H
  • 如何检查iframe是否加载失败? jquery?

    我现在有这个 jquery 代码并且工作正常 当用户单击提交按钮时 它会隐藏表单 显示加载器 然后将数据提交到链接并在 iframe 中加载输出 document ready function xxx form validate submi
  • 如何在html代码中使用json文件

    我有 json 文件mydata json 这个文件中是一些 json 编码的数据 我想在文件中获取这些数据index html并在 JavaScript 中处理这些数据 但不知道如何在 html 文件中连接 json 文件 请告诉我 这是
  • Android 自定义按钮状态选择器 XML 文件导致 Resource$NotFoundException

    由于 Resource NotFoundException 我的活动随机崩溃 并且总是由于我的自定义按钮的状态选择器文件之一而导致 而且崩溃是完全随机的 我将多次检查整个应用程序而不会发生崩溃 然后第 n 次转到 Activity 然后它会
  • 使用 jQuery 自定义下拉面板

    我正在尝试为以下问题找到 jQuery 解决方案 通用下拉控件 折叠时看起来像一个普通的选择框 下拉一个自定义面板 您可以在其中放置任何内容 I m not寻找菜单控件 或者可设置样式的选择或列表控件 我需要一个下拉面板可以容纳任何内容的控
  • Group by 模糊字符串与 fuzzywuzzy 和 groupby 匹配

    我有一个随机单词和名称的数据集 我正在尝试对所有相似的单词和名称进行分组 因此给出下面的数据框 Name ID Value 0 James 1 10 1 James 2 2 142 2 Bike 3 1 3 Bicycle 4 1197 4
  • Android中的调用方法

    我正在尝试调用我编写的方法 它编译除了一行 public class http extends Activity httpMethod will not compile public void httpMethod HttpClient h
  • 表中的 ZEND 表单元素还包含数据库中的数据

    你好 我有一个装饰器和表单的问题 它会在表中 并且在这个表中还希望有来自数据库的数据 我不知道如何做到这一点以获得如下所示的结构 可以说 table tr td and here input from zend form td td td
  • 未排序的值计算(也称为序列点)

    抱歉再次打开这个主题 但是思考这个主题本身已经开始给我一种未定义的行为 想要进入行为明确的区域 Given int i 0 int v 10 i i Expr1 i i Expr2 i Expr3 i v i Expr4 我认为上述表达式
  • AOSP 6.0 为锤头鲨构建 - 专有二进制文件

    我刚刚为锤头构建了 AOSP 6 0 并尝试刷新它 我的手机在看到 Google 徽标时就卡住了 无法启动 我假设我需要使用此处找到的专有二进制文件https developers google com android nexus driv
  • Symfony2 Doctrine 自定义存储库类 [语义错误] 第 0 行,第 14 列“项目 p”附近:错误:类“项目”未定义

    我对 Symfony 2 和 Doctrine 很陌生 有一个简单的问题 我的存储库中有一个非常简单的代码
  • 使用 WebGL API 进行数学计算

    标题说明了一切 但我的问题是 是否可以在浏览器 例如 Google Chrome 中使用 WebGL API 来解决一些数学问题 假设我想使用 WebGL API 将两个数字相乘 这通常可行吗 如果可以 我该怎么做 请原谅我没有分享任何代码
  • 如何确定函数依赖关系和主键?

    在我的 Oracle 数据库编程课程中 最终实验室评估的第一部分要求我们 识别当前显示的表的主键 找到我们要使用的表的所有函数依赖关系 绘制表的依赖关系图 该表一开始就是 1NF 从我所做的研究来看 我似乎需要基本上组合所有可能的 FD 这
  • 卖给我分布式版本控制

    我知道周围有数千个类似的话题 我在 SO 中阅读了至少 5 个主题 但为什么我仍然不相信 DVCS 我只有以下问题 请注意 我自私地只担心 Java 项目 有什么好处或者价值 本地提交 什么 真的吗 全部 现代 IDE 允许您跟踪 你的改变
  • 使用 C#/Windows 窗体的简单动画

    我需要在 C Windows 窗体中制作一个用于万圣节显示的快速动画 只是一些 2D 形状在坚实的背景上移动 由于这只是一个快速的一次性项目 我really不想为此安装和学习一套全新的工具 DirectX 开发工具包 Silverlight
  • 将儒略日转换为日期

    我有名为 day00000 nc day00001 nc day00002 nc day00364 nc 的文件已有好几年了 它们代表 365 或 366 天 我想重命名我的文件 例如 day20070101 nc day20070102
  • 如何更改基于 CustomBusinessHour 的周掩码中的开始结束时间等于星期一

    如果我从 startdate 和 enddate 在 weekmask 列表中得到星期一 我想更改 CustomBusinessHour 中的开始结束时间 开始 00 01 结束 23 59 如果我得到周一黑白开始日期和结束日期 我正在尝试