此问题在此处已有答案:
How to include both ends of a pandas date_range()(2个答案)
2天前关闭。
这篇文章是昨天编辑并提交审查的。
如果我运行:
pd.date_range('2022-01-01 15:00', '2023-02-02 00:00', freq='YS')
我收到:
DatetimeIndex(['2022-01-01 15:00:00'], dtype='datetime64[ns]', freq='AS-JAN')
我希望在返回中也能得到2023-01-01 15:00:00,即
DatetimeIndex(['2022-01-01 15:00:00', '2023-01-01 15:00:00'], dtype='datetime64[ns]', freq='AS-JAN')
感觉这真的很奇怪。我是错过了什么还是有bug?我如何才能达到预期的行为?
谢谢
编辑:同意s_pike的观点,这种行为看起来非常违反直觉,我会说这是一个bug。
2条答案
按热度按时间q9yhzks01#
您可以通过以下方式获得所需的输出:
如果将日期更改为二月,则必须将时间更改为大于或等于开始日期中给定时间。
如果您的时间少于开始日期中指定的时间,则不会获得结果:
以下是文件的链接:
https://pandas.pydata.org/docs/reference/api/pandas.date_range.html
https://pandas.pydata.org/docs/user_guide/timeseries.html#timeseries-offset-aliases
xlpyo6sf2#
你可以这样尝试,这可能会提供你预期的结果。
这个
pd.DatetimeIndex()
构造函数将创建一个新的“datetimeindex”。