あなたはdate_range
とCustom Business Hour
が必要になります。
cbh = pd.offsets.CustomBusinessHour(start='06:00',
end='16:00',
weekmask='Mon Tue Wed Thu Fri Sat')
print (cbh)
<CustomBusinessHour: CBH=06:00-16:00>
day_range = pd.date_range(pd.datetime(2016,9,12,18),pd.datetime.now(),freq=cbh)
print (day_range)
DatetimeIndex(['2016-09-13 06:00:00', '2016-09-13 07:00:00',
'2016-09-13 08:00:00', '2016-09-13 09:00:00',
'2016-09-13 10:00:00', '2016-09-13 11:00:00',
'2016-09-13 12:00:00', '2016-09-13 13:00:00',
'2016-09-13 14:00:00', '2016-09-13 15:00:00',
...
'2016-10-11 08:00:00', '2016-10-11 09:00:00',
'2016-10-11 10:00:00', '2016-10-11 11:00:00',
'2016-10-11 12:00:00', '2016-10-11 13:00:00',
'2016-10-11 14:00:00', '2016-10-11 15:00:00',
'2016-10-12 06:00:00', '2016-10-12 07:00:00'],
dtype='datetime64[ns]', length=252, freq='CBH')
テスト - それはSunday
を省略:
day_range = pd.date_range(pd.datetime(2016,9,12,18),pd.datetime.now(),freq=cbh)[45:]
print (day_range)
DatetimeIndex(['2016-09-17 11:00:00', '2016-09-17 12:00:00',
'2016-09-17 13:00:00', '2016-09-17 14:00:00',
'2016-09-17 15:00:00', '2016-09-19 06:00:00',
'2016-09-19 07:00:00', '2016-09-19 08:00:00',
'2016-09-19 09:00:00', '2016-09-19 10:00:00',
...
'2016-10-11 08:00:00', '2016-10-11 09:00:00',
'2016-10-11 10:00:00', '2016-10-11 11:00:00',
'2016-10-11 12:00:00', '2016-10-11 13:00:00',
'2016-10-11 14:00:00', '2016-10-11 15:00:00',
'2016-10-12 06:00:00', '2016-10-12 07:00:00'],
dtype='datetime64[ns]', length=207, freq='CBH')
私が欲しい場合は日曜日が含まれているが、不均一なパターンでは?たとえば、月曜日から木曜日の開始= 00:00、終了= 16:00、開始= 18:00から終了= 24:00、金曜日の開始= 00:00、終了の= 16:00、日曜日の開始= 18:00、終了= 24:00?関数がこれを処理できますか? – A1122
おそらく、2つの範囲を作成してそれを減算する必要があります。 – jezrael
最終的にはより高い「開始」時間を作成しようとしましたが、間違った結果が返されます。多分trereはこのカスタム営業時間がバグである問題です。 – jezrael