我为德国创建了一个假日日历(不包括所有日期),如下所示:
from pandas.tseries.holiday import Holiday,AbstractHolidayCalendar
class GermanHolidays(AbstractHolidayCalendar):
rules = [Holiday('New Years Day', month=1, day=1),
Holiday('First of May', month=5, day=1),
Holiday('German Unity Day', month=10,day=3),
...]
cal = GermanHolidays()
现在我希望在假日出现或不带(“1”或“0”)时显示列。所以我做了以下几点:
^{pr2}$X是一个数据帧,其中Time (CET)
是%d.%m.%Y %H:%M:%S
格式的列。不幸的是,这不起作用。没有出现错误,但所有列都用"0"
标记。所以没有匹配发生,我真的不知道为什么。
我想这可能是因为假期的频率是每天的,而不是专栏Time (CET)
中的每小时。
如果你能帮助我就太好了!谢谢您!在
这基本上就是你已经拥有的。假设这个方法有效,而你的不起作用,这很可能是因为值是文本,而不是@unutbu和@MaxU已经指出的时间戳。在
你的帖子还说:
你真的想要一个文本值吗?您试图转换为浮点,但您可能只需要整数。在
可能有一些原因。在
其中一个as mentioned by @unutbu - is a wrong (string) dtype。确保您的
X['Time (CET)']
列是datetime
数据类型。可按如下方式进行:你说的另一个原因是时间部分。在
下面是一个演示:
^{2}$产量:
由于时间部分不匹配,
holidays
筛选无效:我们可以通过规范化(截断时间部分或将时间设置为
00:00:00
)的datetime列来使其正常工作:相关问题 更多 >
编程相关推荐