- 此问题在此处已有答案**:
Pandas date_range to generate monthly data at beginning of the month(2个答案)
4天前关闭。
对于pandas 1.40
,在类pd.date_range()
中引入了参数inclusive
。
包含{"两者"、"两者都不"、"左"、"右"},默认"两者"包括边界;将每个绑定设置为关闭还是打开
我想用它来创建一个df
,从2020年1月的第一天开始,到2022年12月的第一天结束。
df = pd.date_range(start='01/01/2020', end='31/12/2022', freq = "M", inclusive = "left")
这不是给我预期的输出。
DatetimeIndex(['2020-01-31', '2020-02-29', '2020-03-31', '2020-04-30',
'2020-05-31', '2020-06-30', '2020-07-31', '2020-08-31',
'2020-09-30', '2020-10-31', '2020-11-30', '2020-12-31',
'2021-01-31', '2021-02-28', '2021-03-31', '2021-04-30',
'2021-05-31', '2021-06-30', '2021-07-31', '2021-08-31',
'2021-09-30', '2021-10-31', '2021-11-30', '2021-12-31',
'2022-01-31', '2022-02-28', '2022-03-31', '2022-04-30',
'2022-05-31', '2022-06-30', '2022-07-31', '2022-08-31',
'2022-09-30', '2022-10-31', '2022-11-30'],
dtype='datetime64[ns]', freq='M')
- 预期产出**
DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01',
'2020-05-01', '2020-06-01', '2020-07-01', '2020-08-01',
'2020-09-01', '2020-10-01', '2020-11-01', '2020-12-01',
'2021-01-01', '2021-02-01', '2021-03-01', '2021-04-01',
'2021-05-01', '2021-06-01', '2021-07-01', '2021-08-01',
'2021-09-01', '2021-10-01', '2021-11-01', '2021-12-01',
'2022-01-01', '2022-02-01', '2022-03-01', '2022-04-01',
'2022-05-01', '2022-06-01', '2022-07-01', '2022-08-01',
'2022-09-01', '2022-10-01', '2022-11-01', '2022-12-01' ],
dtype='datetime64[ns]', freq='M')
1.如何使用pd.date_range()
获得预期输出?
1.关于如何正确使用pd.date_range()
中的参数inclusive
,我误解了什么?
2条答案
按热度按时间f0brbegy1#
从@imxitiz评论继续,尝试
输出:
dgenwo3n2#
I have panda version 1.1.5 Inclusive无法识别并生成如下异常:
您想要的与
inclusive
无关,而是与频率类型有关:*M表示月末
*MS表示月初(S表示开始)
此处定义的所有类型:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timeseries-offset-aliases
建议的命令行
结果