首页 > 解决方案 > python pandas DatetimeIndex如何获得一个月的第一天?

问题描述

begin = '2016-08-01'
end = '2018-07-01'
time_unit = 'm'
unit = 'month'

time_dict = {}
time_series = pd.DatetimeIndex(start=begin, end=end, freq=time_unit).tolist()

所有月份生成的 DatetimeIndex 开始月份的结束日期。例如

2016-08-31 00:00:00

我怎样才能得到

2016-08-01 00:00:00

标签: pythonpandas

解决方案


更改mMS月份开始频率

begin = '2016-08-01'
end = '2018-07-01'
time_unit = 'MS'
unit = 'month'

time_dict = {}
time_series = pd.DatetimeIndex(start=begin, end=end, freq=time_unit).tolist()
print (time_series)
[Timestamp('2016-08-01 00:00:00', freq='MS'), Timestamp('2016-09-01 00:00:00', freq='MS'), Timestamp('2016-10-01 00:00:00', freq='MS'), Timestamp('2016-11-01 00:00:00', freq='MS'), Timestamp('2016-12-01 00:00:00', freq='MS'), Timestamp('2017-01-01 00:00:00', freq='MS'), Timestamp('2017-02-01 00:00:00', freq='MS'), Timestamp('2017-03-01 00:00:00', freq='MS'), Timestamp('2017-04-01 00:00:00', freq='MS'), Timestamp('2017-05-01 00:00:00', freq='MS'), Timestamp('2017-06-01 00:00:00', freq='MS'), Timestamp('2017-07-01 00:00:00', freq='MS'), Timestamp('2017-08-01 00:00:00', freq='MS'), Timestamp('2017-09-01 00:00:00', freq='MS'), Timestamp('2017-10-01 00:00:00', freq='MS'), Timestamp('2017-11-01 00:00:00', freq='MS'), Timestamp('2017-12-01 00:00:00', freq='MS'), Timestamp('2018-01-01 00:00:00', freq='MS'), Timestamp('2018-02-01 00:00:00', freq='MS'), Timestamp('2018-03-01 00:00:00', freq='MS'), Timestamp('2018-04-01 00:00:00', freq='MS'), Timestamp('2018-05-01 00:00:00', freq='MS'), Timestamp('2018-06-01 00:00:00', freq='MS'), Timestamp('2018-07-01 00:00:00', freq='MS')]

推荐阅读