pd.date_range 包含结束日期

问题描述 投票:0回答:1

使用 pandas 2.2.2 和 python 3.11,为什么这没有给我包含结束日期的日期范围:

import pandas as pd

start_date = pd.to_datetime('2023-04-05T04:01:40Z')
end_date = pd.to_datetime('2024-04-15T00:00:00Z')
full_date_range = pd.date_range(start=start_date, end=end_date, freq='1M', inclusive='both')
for date in full_date_range.to_list():
    print(date)

它给了我:

2023-04-30 04:01:40+00:00
2023-05-31 04:01:40+00:00
2023-06-30 04:01:40+00:00
2023-07-31 04:01:40+00:00
2023-08-31 04:01:40+00:00
2023-09-30 04:01:40+00:00
2023-10-31 04:01:40+00:00
2023-11-30 04:01:40+00:00
2023-12-31 04:01:40+00:00
2024-01-31 04:01:40+00:00
2024-02-29 04:01:40+00:00
2024-03-31 04:01:40+00:00

它在三月底停止。我认为包容性会给我一个额外的条目

2024-04-30 04:01:40+00:00

因为这也包括我的结束日期(至少这是我的理解

include
论点

python pandas dataframe timestamp
1个回答
0
投票

它按预期工作。

include
仅指定是否包含左、右、两者或不包含任何间隔边界。您的预计日期
2024-04-30
不在区间
(2023-04-05; 2024-04-15)
内,因此最后日期为
2024-03-31
。您必须将
end_date
更改为之后的日期才能获得您想要的内容。

在这种情况下,

freq
并不重要,因为
2024-03-31
+1M 超出了区间。

© www.soinside.com 2019 - 2024. All rights reserved.