- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个数据框,如下所示:
df = pd.DataFrame({'Ending Date': [Timestamp('2019-12-08 00:00:00'), Timestamp('2019-12-08 00:00:00')], 'FName': ['Jon', 'Bob'], 'LName': ['Doe', 'Smith'], 'Starting Date': ['2019-09-29', '2019-09-29']})
<小时/>
Ending Date FName LName Starting Date
0 2019-12-07 Jon Doe 2019-09-28
1 2019-12-07 Bob Smith 2019-09-28
如您所见,“结束日期”列始终比“开始日期”早 10 周,但是,我有一个假期列表:
holidays = pd.Series([Timestamp('2019-09-14 00:00:00'), Timestamp('2019-10-05 00:00:00'), Timestamp('2019-10-12 00:00:00'), Timestamp('2019-10-26 00:00:00'), Timestamp('2019-12-21 00:00:00'), Timestamp('2019-12-28 00:00:00'), Timestamp('2020-01-04 00:00:00'), Timestamp('2020-01-25 00:00:00'), Timestamp('2020-02-01 00:00:00'), Timestamp('2020-02-29 00:00:00'), Timestamp('2020-04-04 00:00:00'), Timestamp('2020-05-02 00:00:00')])
因此,我想“补偿”假期,所以我想获取要计数的假期系列中开始日期和结束日期之间的每个星期六,并添加 n(计数)周到结束日期,并且,如果添加的任何一周是假期,也要对它们进行补偿,依此类推...
我尝试过:
df['Ending Date'] = df['Ending Date'] + pd.Timedelta(weeks=10 + pd.date_range(df['Starting Date'], df['Ending Date']).isin(holidays).sum())
但是错误为:
TypeError: Cannot convert input [0 2019-09-28
1 2019-09-28
Name: Starting Date, dtype: object] of type <class 'pandas.core.series.Series'> to Timestamp
被提出。
期望的输出:
Ending Date FName LName Starting Date
0 2020-01-18 Jon Doe 2019-09-28
1 2020-01-18 Bob Smith 2019-09-28
最佳答案
我假设开始日期和结束日期都应该是datetime64[ns]类型。如果不是,请使用 pd.to_datetime 进行转换。
我注意到你只使用周六日期,所以你的情况是这样的我们的工作周每周只包含一个工作日,即仅限周六。
然后,如果我们使用定制业务,那么要完成您的任务就非常容易日历,包含用户定义的假期日期。
首先定义 CustomBusinessDay 偏移量,包括您的假期列表:
my_bday = pd.offsets.CustomBusinessDay(holidays=holidays, weekmask='Sat')
然后,计算 future n个工作日(实际上 - 也包括几周)的日期从给定日期 dat 开始,我们应该使用公式:dat + 10 * my_bday
。
因此,在您的情况下(开始日期列中的源数据和结果为保存在结束日期),运行:
df['Ending Date'] = df['Starting Date'].apply(lambda dat: dat + 10 * my_bday)
关于python - 如何补偿假期 - pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58152273/
我看到以下关于 MPEG 1 运动估计/补偿的解释,只是想知道它是否正确: 为什么我们不直接编码当前 block 和引用 block 之间的原始差异?因为残差的数字通常会小很多。例如,假设一个物体在图
计算机屏幕上像素的亮度通常与像素的数字 RGB 三元组值不线性相关。早期 CRT 的非线性响应需要补偿非线性编码,我们今天仍在继续使用此类编码。 通常我们在计算机屏幕上生成图像并在那里使用它们,所以一
我不知道它叫什么。状态栏?随着接待和电池生命周期的增加。但是有没有一种简单的方法可以判断它是否显示在应用程序中? 我正在编写一些通用代码,如果没有栏,我希望将某些内容放置在屏幕顶部,如果有,则在栏下方
观察下面的简单示例: div { border-bottom: 1px solid black; border-radius: 20%; padding: 10px; } Test 在 S
我有一个这样的嵌套视频: Live camera feed 当用户拍照时,图像沿y轴偏移 Captured Still image 我确实想要捕获整个图像并让用户上下滚动。他们目前可以这样做,但我希望
我从客户端收到了一个字体 (Calibre) 作为 OTF 文件,用于网络应用程序,但文件的“行高”(或者你怎么调用它?)有些奇怪。实际文本溢出顶部的 dom 元素并在下面留下一堆空间,导致各种丑陋。
我编写了一个数学计算器,它从用户那里接收一个字符串并对其进行解析。它使用 double 来保存计算时涉及的所有值。解决后,我将其打印出来,并使用 std::setprecision() 确保其输出正确
不同的 Android 设备具有不同的屏幕尺寸和屏幕密度。编写视频游戏时,补偿差异的好方法是什么? 最佳答案 我们先从 Android 的文档开始 Supporting Multiple Screen
我正在制作个人资料图片裁剪编辑器,它允许在区域内拖动、缩放和旋转图像。 图片的拖动是通过捕捉区域的mousedown和mousemove事件,计算区域内游标开始和停止的x/y坐标,得到游标移动的距离。
我正在尝试按地理区域对 AnyLogic GISRegions 集合进行排序。所述面积是使用GISRegion.area(units)计算的,这很简单。然而,我使用的区域是城市规模的,并且该方法返回一
首先,我希望这不是重复的。我读过很多类似的问题,但找不到与此特定问题相关的问题。 我有一个 javascript 日期选择器,它在内部使用 javascript 日期,这会产生意想不到的副作用。当我选
您可以在此处查看实时版本:http://steffiwilson.com/test . IE9 没有将内容 block 居中。 (我很确定旧版本的 IE 也不能正常工作,但我不能肯定地说。)我已经确保
我是一名优秀的程序员,十分优秀!