У меня есть фрейм данных с двумя столбцами даты, даты начала и окончания. Как я найду количество выходных между начальной и конечной датами, используя pandas или python date-times
Я знаю, что у панд есть DatetimeIndex
, который возвращает значения от 0 до 6 для каждого дня недели, начиная с понедельника
# create a data-frame
import pandas as pd
df = pd.DataFrame({'start_date':['4/5/19','4/5/19','1/5/19','28/4/19'],
'end_date': ['4/5/19','5/5/19','4/5/19','5/5/19']})
# convert objects to datetime format
df['start_date'] = pd.to_datetime(df['start_date'], dayfirst=True)
df['end_date'] = pd.to_datetime(df['end_date'], dayfirst=True)
# Trying to get the date index between dates as a prelim step but fails
pd.DatetimeIndex(df['end_date'] - df['start_date']).weekday
Я ожидаю, что результат будет таким: (weekend_count
включает даты начала и окончания)
start_date end_date weekend_count
4/5/2019 4/5/2019 1
4/5/2019 5/5/2019 2
1/5/2019 4/5/2019 1
28/4/2019 5/5/2019 3