我的数据框中有一列日期,我想从日期中获取该月的最后一天 例如,如果日期是 '2017-01-25' 我想得到 '2017-01-31' 我想我可以从日期中获取月份和年份编号并使用 monthrange 来计算该月的最后一天,但我正在寻找单行代码
请您参考如下方法:
如果你有一个日期 d 那么最简单的方法是使用 calendar查找一个月中天数的模块:
datetime.date(d.year, d.month, calendar.monthrange(d.year, d.month)[-1])
或者,仅使用 datetime,我们只需找到下个月的第一天,然后删除一天:
datetime.date(d.year + d.month // 12,
d.month % 12 + 1, 1) - datetime.timedelta(1)
如果表达为:您可能会发现逻辑更清晰:
datetime.date(d.year + (d.month == 12),
(d.month + 1 if d.month < 12 else 1), 1) - datetime.timedelta(1)
