如何使用python或pandas计算两个日期之间的月份

1.背景阐述

近期,在使用Python计算两个日期之间的月份时,发现没有相关的方法来计算(可能有我没接触到该方法,有时间的小伙伴可以找找看),应用场景如下:
开始日期:“2020-05-05”
结束日期: “2020-06-01”
两个日期间隔27天不足30天,需要输出的月份为1
开始日期:“2020-05-05”
结束日期: “2020-06-25”
两个日期间隔51天超过30天,需要输出的月份为1

2.实现方法

def get_month(begin,end):
    begin_year,end_year=begin.year,end.year
    begin_month,end_month=begin.month,end.month
    if begin_year==end_year:
        months=end_month-begin_month
    else:
        months=(end_year-begin_year)*12+end_month-begin_month
    return months

效果检验如下:

from datetime import datetime
begin_date=datetime.strptime("2020-05-05","%Y-%m-%d")
end_date=datetime.strptime("2020-06-25","%Y-%m-%d")
get_month(begin_date,end_date)

截图如下:
如何使用python或pandas计算两个日期之间的月份_第1张图片

3.后话

如果是按照30天来计算的话,只需要按照days天数,直接除以30,然后取整就可以了。在这里介绍一种常用的月份处理方法,将间隔的天数除以30.43来进行换算,然后向上进一位取整,来获取相应的间隔月份。
OK,就到这里了,如果有什么建议,直接留言即可~

你可能感兴趣的:(数据分析,pandas进行数据处理,pandas,日期处理)