date_range()当开始日期和结束日期之间的小时数不匹配并且频率设置为Months时, pandas函数会显示奇怪的行为。
>>> pd.date_range("2020-05-31 22:00:00", "2020-08-29 21:00:00", freq="1M")
DatetimeIndex(['2020-05-31 22:00:00', '2020-06-30 22:00:00'], dtype='datetime64[ns]', freq='M')
在此示例中,我希望索引中出现“2020-07-31 22:00:00”,但事实并非如此。
尽管如此,以下示例仍按预期工作:
>>> pd.date_range("2020-05-31 22:00:00", "2020-08-29 22:00:00", freq="1M")
DatetimeIndex(['2020-05-31 22:00:00', '2020-06-30 22:00:00',
'2020-07-31 22:00:00'],
dtype='datetime64[ns]', freq='M')
>>> pd.date_range("2020-05-31 22:00:00", "2020-08-29 23:00:00", freq="1M")
DatetimeIndex(['2020-05-31 22:00:00', '2020-06-30 22:00:00',
'2020-07-31 22:00:00'],
dtype='datetime64[ns]', freq='M')
如果提供 Datetime 对象而不是字符串,也会发生这种情况:
>>> s = pd.to_datetime("2020-05-31 22:00:00", format="%Y-%m-%d %H:%M:%S")
>>> e = pd.to_datetime("2020-08-29 21:00:00", format="%Y-%m-%d %H:%M:%S")
>>> pd.date_range(s, e, freq="1M")
DatetimeIndex(['2020-05-31 22:00:00', '2020-06-30 22:00:00'], dtype='datetime64[ns]', freq='M')
这是一个错误还是我遗漏了什么?
熊猫 v1.1.0
有只小跳蛙
相关分类