Как найти, если требуемый день недели находится между двумя указанными датами в пандах - PullRequest
2 голосов
/ 04 мая 2019

У меня есть два столбца in_date и out_date в моем фрейме данных.Мне нужно проверить, есть ли у меня выходные (суббота, воскресенье) между указанными двумя датами?

Input

df['in_date']   df['out_date']
04/04/19        08/04/19
01/05/19        03/05/19
01/05/19        06/05/19    

Expected Output
df['in_date']   df['out_date']     df['Weekend]
04/04/19        08/04/19                Y
01/05/19        03/05/19                N
01/05/19        06/05/19                Y

Я могу получить рабочий день с помощью следующего кода:

pd.to_datetime(df['checkin_date'],format='%d/%m/%y').dt.dayofweek 

Ноневозможно найти логику, чтобы проверить, если выходные дни между указанными датами.Кто-нибудь может мне помочь в достижении вышеуказанной логики.Спасибо.

1 Ответ

4 голосов
/ 04 мая 2019

Вот один из способов сделать это. Надеюсь, кто-нибудь опубликует что-то более короткое и лучшее:

((pd.to_datetime(df['out_date'],format='%d/%m/%y') - pd.to_datetime(df['in_date'],format='%d/%m/%y')).dt.days + pd.to_datetime(df['in_date'],format='%d/%m/%y').dt.dayofweek)  > 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...