首页 > 解决方案 > 有没有办法使用 pandas 获取每月日期时间间隔 [(timestart_of_month1, timeend_of_month1), ...] 的列表?

问题描述

我唯一能做到的是获得月份开始日期之间的间隔:

import pandas as pd
pd.interval_range(
    start=pd.Timestamp('2021-01-01 00:00:00'), 
    end=pd.Timestamp('2021-03-31 23:59:59'), 
    freq='MS'
)

# 2021-01-01 00:00:00 - 2021-02-01 00:00:00
# 2021-02-01 00:00:00 - 2021-03-01 00:00:00

并获得月份结束日期之间的间隔:

import pandas as pd
pd.interval_range(
    start=pd.Timestamp('2021-01-01 00:00:00'), 
    end=pd.Timestamp('2021-03-31 23:59:59'), 
    freq='MS'
)

# 2021-01-31 00:00:00 - 2021-02-28 00:00:00
# 2021-02-28 00:00:00 - 2021-03-31 00:00:00

但我想要的只是获得简单的每月间隔:

# 2021-01-01 00:00:00 - 2021-01-31 23:59:59
# 2021-02-01 00:00:00 - 2021-02-28 23:59:59
# 2021-03-01 00:00:00 - 2021-03-31 23:59:59

我想以一种非常简洁的方式实现它而不减去一秒等。

标签: pythonpandasintervals

解决方案


推荐阅读