如果未提供結束日期,則表示最后提供的日期與結束日期之間的差值小于期間。所以只需將end_date添加到date_range返回的DatetimeIndex對象的末尾。 start_date=pd.to_datetime("01-02-2020", dayfirst=True)end_date=pd.to_datetime("01-12-2021", dayfirst=True)period=3x=pd.date_range(start_date, end_date, freq=pd.DateOffset(months=period))if x[len(x)-1].date != end_date.date: x=np.append(x.date, end_date.date())print(x)[datetime.date(2020, 2, 1) datetime.date(2020, 5, 1) datetime.date(2020, 8, 1) datetime.date(2020, 11, 1) datetime.date(2021, 2, 1) datetime.date(2021, 5, 1) datetime.date(2021, 8, 1) datetime.date(2021, 11, 1) datetime.date(2021, 12, 1)]