繁体   English   中英

生成具有相同月份和日期的年份列表

[英]Generate a list of years with the same month and day

我想生成不同年份同一月份和同一天的'%Y-%m-%d'列表。

我试过了

import pandas as pd
pd.date_range('2014-04-01', '2018-04-01', freq='BYS').strftime("%Y-%m-%d").tolist()

它返回['2015-01-01', '2016-01-01', '2017-01-02', '2018-01-01']

预期结果['2014-04-01, '2015-04-01, '2016-04-01', '2017-04-01', '2018-04-01']

由于您想按年份生成2014-04-012018-04-01之间的日期时间,因此04-01是月份的开始日期。 您可以使用频率12MS ,其中12M是 12 个月, S是月份开始。

pd.date_range('2014-04-01', '2018-04-01', freq='12MS').strftime("%Y-%m-%d").tolist()

['2014-04-01', '2015-04-01', '2016-04-01', '2017-04-01', '2018-04-01']

如果要按年份生成2014-04-022018-04-02之间的日期时间,可以在2014-04-022018-04-02之间的生成日期上添加偏移量。

(pd.date_range('2014-04-01', '2018-04-01', freq='12MS') + pd.DateOffset(days=1)).strftime("%Y-%m-%d").tolist()

['2014-04-02', '2015-04-02', '2016-04-02', '2017-04-02', '2018-04-02']

pd.date_range('2014-04-02', '2018-04-02', freq='12MS')不起作用的原因是12MS2014-04-022018-04-02之间生成月份开始即2014-05-012017-05-01

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM