【发布时间】:2019-05-04 16:07:46
【问题描述】:
我有一个包含两个日期列的数据框,一个开始日期和一个结束日期。如何使用 pandas 或 python date-times 找到开始日期和结束日期之间的周末数
我知道 pandas 有 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
【问题讨论】:
-
您可能会提到您的日期是 dd/mm/yyyy 格式。
-
dayfirst=True不为此调整吗?