Как определить CustomBusinessHour весь день? - PullRequest
1 голос
/ 03 мая 2020

Я анализирую работу устройств час в час, которые работают 24 часа в сутки (но не весь год), но у меня есть ошибка с:

from pandas.tseries.offsets import CustomBusinessHour

Use=CustomBusinessHour(
    start='00:00',
    end='24:00',
    weekmask=(1,1,1,1,1,1,0)
)

или

Use=CustomBusinessHour(
    start='00:00',
    end='00:00',
    weekmask=(1,1,1,1,1,1,0)
)

(или end='23:59' делает странные вещи, каждый день сдвигается на минуту)
(или end='23:00' не подходит, останавливается в 22:00 вместо 23:00)

Знаете ли вы, если Можно ли создать CustomBusinessHour, который будет работать целый день?

Моя цель - создать серию из часов , отработанных за год: pd.date_range(dt.date(2020,1,1), dt.date(2021,1,1), closed='left', freq=Use)

Спасибо за многое авансовый.

1 Ответ

0 голосов
/ 11 мая 2020

Я обошел проблему, я использовал CustomBusinessDay вместо CustomBusinessHour

Use=CustomBusinessDay(weekmask=(1,1,1,1,1,1,0))

, затем

Cal=pd.date_range(dt.date(2020,1,1),dt.date(2021,1,1),freq=Use,closed='left').to_series()

Я преобразован в Последовательность, позволяющая добавить день, потому что asfreq () останавливается, как только день достигнут, он не производит выборку от часа к часу до конца дня.

Cal.loc[Cal.iloc[-1]+pd.Timedelta(days=1)]=Cal.iloc[-1]+pd.Timedelta(days=1)

и, наконец, я делаю выборку за час (я исключаю последний, следующий за первым часом дня)

Cal=Cal.asfreq('H')[:-1].index
...