pandasdate_range在月初生成月度数据

发布于 2021-01-29 17:09:09

我正在尝试生成每月数据的日期范围,其中一天总是在月初:

pd.date_range(start='1/1/1980', end='11/1/1991', freq='M')

这将生成1/31/19802/29/1980等等。相反,我只是想1/1/19802/1/1980

我已经看到另一个有关生成始终在一个月的特定日期的数据的问题,回答说不可能,但是肯定有可能在月初!

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以通过将freq参数从更改'M''MS'

    d = pandas.date_range(start='1/1/1980', end='11/1/1990', freq='MS')    
    print(d)
    

    现在应该打印:

    DatetimeIndex(['1980-01-01', '1980-02-01', '1980-03-01', '1980-04-01',
                   '1980-05-01', '1980-06-01', '1980-07-01', '1980-08-01',
                   '1980-09-01', '1980-10-01', 
                   ...
                   '1990-02-01', '1990-03-01', '1990-04-01', '1990-05-01',
                   '1990-06-01', '1990-07-01', '1990-08-01', '1990-09-01',
                   '1990-10-01', '1990-11-01'],
                  dtype='datetime64[ns]', length=131, freq='MS', tz=None)
    

    查看文档的 偏移别名
    部分。在那里它表示'M'是月末(月末频率),而'MS'开始是(月起始频率)。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看