Python学习笔记:本月、上月、次月生成

一、需求

因跑模型需要,根据入参,自动设定训练集、测试集、生产集周期。

例如:本月输入“202203”,上月即为“202202”,次月为“202204”。

二、实操


import time, datetime, calendar

# 上月
def last_month(month):
    month = str(month)
    time_tuple = time.strptime(month, "%Y%m")
    year, month, day = time_tuple[:3]
    local_month = datetime.date(year, month, day).replace(day=1)
    last_month = (local_month - datetime.timedelta(days=1)).replace(day=1)
    last_month = last_month.strftime('%Y%m')
    last_month = int(last_month)
    return last_month

# 次月
def next_month(month):
    month = str(month)
    time_tuple = time.strptime(month, "%Y%m")
    year, month, day = time_tuple[:3]
    week, days_num = calendar.monthrange(year, month)
    local_month = datetime.date(year, month, day).replace(day=days_num)
    next_month = (local_month + datetime.timedelta(days=1)).replace(day=1)
    next_month = next_month.strftime('%Y%m')
    next_month = int(next_month)
    return next_month


# 定义取数月份
month = 202203

month_train = month
month_test = last_month(month)
month_predict = next_month(month)
print(r'训练集月份为:', month_train)
print(r'测试集月份为:', month_test)
print(r'预测集月份为:', month_predict)

'''
训练集月份为: 202203
测试集月份为: 202202
预测集月份为: 202204
'''

posted @   Hider1214  阅读(603)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-06-02 Oracle学习笔记:转义字符Q
2020-06-02 Oracle学习笔记:判断表是否存在函数 is_table_exists
2020-06-02 Oracle学习笔记:利用user_objects查表的建表时间
2020-06-02 Oracle学习笔记:利用dba_tab_columns查表的列属性
2020-06-02 Oracle学习笔记:利用user_segments查表的大小
点击右上角即可分享
微信分享提示