gpt4 book ai didi

python - 如何在 Python 中创建从特定日期到另一个相隔 6 个月的日期范围?

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:42 24 4
gpt4 key购买 nike

我需要创建从 '2014-07-05''2024-07-05' 的日期范围,间隔为 6 个月,'2014-07-05', '2015-01-05', '2015-07-05'....我正在使用 pd.date_range('2014-07-05', '2024-07-05', freq = '6M'),但输出不遵循我的日期,它从 '2014-07-31' 而不是 >'2014-07-05'。我已阅读文档,但找不到解决方案。

我正在尝试使用 pd.date_range,因为它是创建范围的更直接的方法。

import pandas as pd

mydates = pd.date_range('2014-07-05', '2024-07-05', freq = '6M')

我期待:

DatetimeIndex(['2014-07-05', '2015-01-05', '2015-07-05',...,'2024-01-05','2024-07-05'],dtype='datetime64[ns]', freq='6M')

我收到:

DatetimeIndex(['2014-07-31', '2015-01-31', '2015-07-31', '2016-01-31',
'2016-07-31', '2017-01-31', '2017-07-31', '2018-01-31',
'2018-07-31', '2019-01-31', '2019-07-31', '2020-01-31',
'2020-07-31', '2021-01-31', '2021-07-31', '2022-01-31',
'2022-07-31', '2023-01-31', '2023-07-31', '2024-01-31'],
dtype='datetime64[ns]', freq='6M')

最佳答案

如果我没有正确理解你的问题,那么这段代码适合你:

from datetime import datetime
import pandas as pd

start = datetime.strptime('2014-07-05', '%Y-%m-%d')
end = datetime.strptime('2024-07-05', '%Y-%m-%d') + pd.offsets.MonthBegin()

mydate = pd.date_range(start, end,freq='6M')
mydate -= pd.offsets.Day(mydate[0].day - start.day)

并给出:

DatetimeIndex(['2014-07-05', '2015-01-05', '2015-07-05', '2016-01-05',
'2016-07-05', '2017-01-05', '2017-07-05', '2018-01-05',
'2018-07-05', '2019-01-05', '2019-07-05', '2020-01-05',
'2020-07-05', '2021-01-05', '2021-07-05', '2022-01-05',
'2022-07-05', '2023-01-05', '2023-07-05', '2024-01-05',
'2024-07-05'],
dtype='datetime64[ns]', freq=None)

关于您的代码,我已经安排了两件事:

  1. 我在 end 日期前添加了 1 个月,以便将之前排除的值包含在范围内

  2. 我将正确的偏移量添加到 mydate

关于python - 如何在 Python 中创建从特定日期到另一个相隔 6 个月的日期范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58174283/

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