如何在Python Pandas中打印当年当前月之后的剩余月份
代码修改方案
原有代码通过range(1,month)生成1到目标月份前一位的序列,只能遍历目标月份之前的历史月份,要实现从指定月份开始输出当年所有剩余月份的需求,直接调整range的起止参数即可:
- 起始值改为传入的
month参数,从指定月份开始遍历 - 结束值设为13:Python的range为左闭右开区间,右边界设为13才能覆盖到当年12月
- 原代码仅在循环外保留最后一次赋值的
thdate变量,如果需要拿到所有月份的结果,要在循环内执行打印、存储等操作
修改后可直接运行的代码:
import calendar from datetime import datetime year = 2021 month = 6 for i in range(month, 13): thdate = datetime(year, i, calendar.monthrange(year, i)[1]) print(thdate)
运行结果示例
当传入month=6时,会依次打印2021年6月到12月每月最后一天的日期:
2021-06-30 00:00:00 2021-07-31 00:00:00 2021-08-31 00:00:00 2021-09-30 00:00:00 2021-10-31 00:00:00 2021-11-30 00:00:00 2021-12-31 00:00:00
如果后续需要同时输出当年1月到指定月份的内容,只需要把range起始值改回1即可,不需要调整其他逻辑。
内容的提问来源于stack exchange,提问作者Coder
相关产品推荐
相关产品推荐

