- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个圣诞节及其后一天的假期类,但遇到了问题。有三分之一的特殊情况我无法完全解决。
案例1:圣诞节是星期五,那么假期是星期五(12-25)和星期六(12-26)(已解决)。这个案例发生在2020年
案例2:圣诞节是星期六,那么假期是星期六(12-25)和星期一(12-27)(已解决)。此案发生在2021年
案例3:圣诞节是星期日,那么假期是星期一(12-26)和星期二(12-27)(未解决)。此案发生于2016年
如果 observance= monday_to_tuesday
可用,情况 3 就可以解决,但遗憾的是它不可用,这就是为什么我在这里寻求帮助,因为 pandas tseries user guide没有提及创建自定义纪念事件或任何工作日的纪念事件的情况。
我正在处理的类(class)如下:
<小时/>from pandas.tseries.holiday import Holiday, sunday_to_monday, AbstractHolidayCalendar
import pandas as pd
import datetime as dt
class MyHolidays(AbstractHolidayCalendar):
rules = [Holiday('Christmas',month=12,day=25, observance= sunday_to_monday),
Holiday('Boxingday',month=12,day=26, observance= sunday_to_monday)]
cal= MyHolidays()
if __name__ == '__main__':
myholidays =cal.holidays(start = dt.datetime(2016,1,1), end=dt.datetime(2021,12,31))
temp_s = pd.Series(myholidays)
print(temp_s)
有办法解决我的问题吗?预先感谢您
最佳答案
您可以按照 existing ones 推出自己的遵守函数。它们只是常规的 Python 函数,因此您也可以使用 lambda,如下所示:
from pandas.tseries.holiday import Holiday, sunday_to_monday, AbstractHolidayCalendar
import pandas as pd
import datetime as dt
class MyHolidays(AbstractHolidayCalendar):
rules = [Holiday('Christmas',month=12,day=25, observance= sunday_to_monday),
Holiday('Boxingday',month=12,day=26, observance= lambda d: d + dt.timedelta(1) if d.weekday() == 0 or d.weekday() == 6 else d )]
cal= MyHolidays()
if __name__ == '__main__':
myholidays =cal.holidays(start = dt.datetime(2016,1,1), end=dt.datetime(2021,12,31))
temp_s = pd.Series(myholidays)
print(temp_s)
输出:
0 2016-12-26
1 2016-12-27
2 2017-12-25
3 2017-12-26
4 2018-12-25
5 2018-12-26
6 2019-12-25
7 2019-12-26
8 2020-12-25
9 2020-12-26
10 2021-12-25
11 2021-12-27
关于python - Pandas tseries Holiday 中的自定义节日庆祝事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57605034/
我正在尝试在 R 上安装 tseries 包。我得到以下输出: > install.packages('tseries') Warning in install.packages("tseries")
我想创建一个圣诞节及其后一天的假期类,但遇到了问题。有三分之一的特殊情况我无法完全解决。 案例1:圣诞节是星期五,那么假期是星期五(12-25)和星期六(12-26)(已解决)。这个案例发生在2020
我正在尝试安装上面提到的软件包,但我无法安装。我已经遵循了几个提示,即使这样也无法安装上面的软件包。即使遵循以下已与某些软件包一起使用的命令,也无法安装: install.packages("fore
我有 pandas 对象: df_days DatetimeIndex(['2015-05-24', '2015-05-24', '2015-05-24',..., '2016-03-19',
我想转换以下 将对象键入 pandas DataFrame 对象 ( )。但是,我无法在 pandas 文档中找到相关功能来执行此操作。 数据采用以下形式: M3
我想找到一种方法,在交易时间内以 1 秒的频率构建自定义 pandas.tseries.offsets 类。这里的主要要求是时间偏移对象足够聪明,可以知道“2015-06-18 16:00:00”的下
我有一个普通的 df.index,我想增加几个小时。 In [1]: test[1].index Out[2]: [2010-03-11, ..., 2014-08-14] Length: 52,
尝试使用标签切片 Pandas 数据框时收到以下错误消息。 triggerDate = dat.loc[dat.Close 转换为时间戳,我们在Stack Overflow上找到一个类似的问题: h
我无法理解为什么在尝试使用 pandas 导入的 is_subperiod 函数时出现此错误 >>> import pandas as pd >>> pd.tseries.frequencies.is
我有一个 Pandas DataFrame,其中索引是(注意频率:H)- [2011-01-01 00:00:00, ..., 2013-12-31 23:00:00] Length: 26304,
我想从 datetime.timedelta 构建一个 Pandas pd.tseries.offsets In [1]: from pandas.tseries.frequencies import
考虑 DatetimeIndex tidx tidx = pd.to_datetime(['2016-07-29', '2016-08-31', '2016-09-30']) print(tidx.f
我正在使用 R 版本 3.4.0 我正在尝试在 linux 机器上安装 tseries 包: install.packages('https://cran.cnr.berkeley.edu/src/c
到目前为止,我有 EdChum 提供的以下代码: In [1]: df = pd.DataFrame({'a': [None] * 6, 'b': [2, 3, 10, 3, 5, 8]}) df["
我是一名优秀的程序员,十分优秀!