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

标签 python date datetime

我需要创建从 '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/

相关文章:

python - 无法点击元素-Selenium python

javascript - 更改单独的表单字段时,JQuery 日期选择器默认为 1970-01-01

datetime - 在 Flutter/Dart 中获取上个月的日期

python - 返回一年中特定日期的上个月

python - 如何正确地将 PyTZ 添加到 Google App Engine 应用程序?

python - Imgur API 不会从相册中删除图像

python - 为什么 list(set(a+b)) 返回有序列表?它总是返回一个有序列表吗?

Javascript Date.toJSON 不获取时区偏移量

python - Django - 使用 strftime 返回德语日期

c# - 检查年份是否为闰年