我尝试使用以下代码创建year-month
从2020-06
(从今天开始的上个月)到的列表2021-05
:
from datetime import datetime
from dateutil.relativedelta import relativedelta
need_months = list(range(-1, 12))
print([(datetime.today()+ relativedelta(months=i if i < 0 else i - 1)).strftime('%Y-%m') for i in need_months])
出:
['2020-06', '2020-06', '2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12', '2021-01', '2021-02', '2021-03', '2021-04', '2021-05']
但您可能会注意到,2020-06
列表中有两个。
我该怎么做呢?
预期结果:
['2020-06', '2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12', '2021-01', '2021-02', '2021-03', '2021-04', '2021-05']
这可以period_range
与将今天转换成一个月周期Timestamp.to_period
,并用于上一个月,减去1
并加上12个周期参数:
now = pd.Timestamp.now().to_period('m')
L = pd.period_range(now-1, freq='M', periods=12).strftime('%Y-%m').tolist()
print (L)
['2020-06', '2020-07', '2020-08', '2020-09', '2020-10', '2020-11',
'2020-12', '2021-01', '2021-02', '2021-03', '2021-04', '2021-05']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句