微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有 7 天周实际开始/结束偏移量的 Python 日期范围

如何解决具有 7 天周实际开始/结束偏移量的 Python 日期范围

我需要生成给定年份的每周日期范围的开始/结束时间作为一个简单的范围,即 df['start'] 和 df['end']。

我有以下解决方案,但它并不完全包括在内,而且可能有点笨拙。并且它需要是通用的,以便它不依赖于年份(2018、2019 等)。我很好奇是否有更准确的说法。

感谢您的任何建议。

# create weekly range
df = pd.DataFrame(pd.date_range("20180101","20181231",freq='7d'),columns=['start_date'])

# add end date from weekly-range start date
df['end_date'] = df['start_date'].shift(-1)

# manually adjust to create a "true" week range
df['end_date'] = df['end_date'] - pd.to_timedelta(1,unit='d')

df.head()

enter image description here

df.tail()

enter image description here

解决方法

如果不需要最后一个缺失值,我认为最简单的是添加 6 天:

df['end_date'] = df['start_date'] + pd.to_timedelta(6,unit='d')

如果需要最后一个缺失值:

df['end_date'] = df['start_date'].iloc[:-1] + pd.to_timedelta(6,unit='d')
,

只需使用 timedelta 和 days 作为参数,在您的情况下为 6。

from datetime import timedelta
df['end_date'] = df['start_date'] + timedelta(days=6)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。