从一对日期中,我想创建一个按月频率列出的日期列表,包括所指示的两个日期的月份。
import pandas as pd
import datetime
# Option 1
pd.date_range(datetime(2022, 1, 13),datetime(2022, 4, 5), freq='M', inclusive='both')
# Option 2
pd.date_range("2022-01-13", "2022-04-05", freq='M', inclusive='both')
两者都返回列表:DatetimeIndex(['2022-01-31', '2022-02-28', '2022-03-31'], dtype='datetime64[ns]', freq='M')
。然而,我期望的结果是一个包含每个月份一个日期的日期列表(长度为4):[1月, 2月, 3月, 4月]
如果现在我们运行:
pd.date_range("2022-01-13", "2022-04-05", freq='M', inclusive='right')
我们仍然得到了之前相同的结果。看起来 inclusive
对结果没有影响。
Pandas 版本:1.5.3
pd.offsets.MonthEnd()
。 - Simonpd.date_range("2022-01-13", pd.Timestamp("2022-04-05")-pd.offsets.Day()+pd.offsets.MonthEnd(), freq='M', inclusive='both')
。 - mozway