gpt4 book ai didi

python - Pandas date_range 从结束日期到开始日期

转载 作者:太空狗 更新时间:2023-10-29 21:45:44 27 4
gpt4 key购买 nike

我正在尝试使用 Python 生成一系列半年度日期。 Pandas 提供了一个函数 pd.date_range为了解决这个问题,我希望我的日期范围从结束日期开始并向后迭代。

例如给定输入:

start = datetime.datetime(2016 ,2, 8)
end = datetime.datetime(2018 , 6, 1)
pd.date_range(start, end, freq='6m')

结果是:

DatetimeIndex(['2016-02-29', '2016-08-31', '2017-02-28', '2017-08-31',
'2018-02-28'])

如何生成以下内容:

DatetimeIndex(['2016-02-08', '2016-06-01', '2016-12-01', '2017-06-01',
'2017-12-01', '2018-06-01'])

最佳答案

使用更新后的输出(来自您所做的编辑),您可以执行以下操作:

from pandas.tseries.offsets import DateOffset

end = datetime.datetime(2018 , 6, 1)
start = datetime.datetime(2016 ,2, 8)
#Get the range of months to cover
months = (end.year - start.year)*12 + end.month - start.month
#The frequency of periods
period = 6 # in months

pd.DatetimeIndex([end - DateOffset(months=e) for e in range(0, months, period)][::-1]).insert(0, start)

这是一个相当简洁的解决方案,但我没有比较运行时,所以我不确定它有多快。

基本上这只是将您需要的日期创建为列表,然后将其转换为日期时间索引。

关于python - Pandas date_range 从结束日期到开始日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35437733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com