Python 我如何计算以天/月为单位的日期之间的差异,并在相应的年份中对其进行换算?
我想计算日期之间的差异,例如“2015年10月8日和2017年3月30日”,并将其分为以下几年: 2015 x天 2016年y天 2017 z天 是否有R库,或者如何编写函数来实现这一点Python 我如何计算以天/月为单位的日期之间的差异,并在相应的年份中对其进行换算?,python,r,excel,Python,R,Excel,我想计算日期之间的差异,例如“2015年10月8日和2017年3月30日”,并将其分为以下几年: 2015 x天 2016年y天 2017 z天 是否有R库,或者如何编写函数来实现这一点 请提前告诉我谢谢。lubridate软件包有很多方法可以读取不同的日期格式并进行适当的计算。你所举的例子你可以借鉴 dmy('08-Oct-2015')-dmy('30-Mar-2017') 您可以从那里开始按年分组。我不知道有哪种Python模块可以在一行中完成这项工作,但有几行应该可以: 从日期时间导入日
请提前告诉我谢谢。lubridate软件包有很多方法可以读取不同的日期格式并进行适当的计算。你所举的例子你可以借鉴
dmy('08-Oct-2015')-dmy('30-Mar-2017')
您可以从那里开始按年分组。我不知道有哪种Python模块可以在一行中完成这项工作,但有几行应该可以: 从日期时间导入日期时间
def bucket_year_days(start_date, end_date):
''' Assumes start_date and end_date are already parsed to datetime '''
years_dict = {}
tmp_date = start_date
while tmp_date <= end_date:
next_date = datetime(tmp_date.year+1, 1, 1)
years_dict[tmp_date.year] = (next_date - tmp_date).days
tmp_date = next_date
return years_dict
def桶年天数(开始日期、结束日期):
''假设开始日期和结束日期已解析为日期时间''
年份_dict={}
tmp_日期=开始日期
虽然tmp_date这提供了一个以天为单位的总体不同的值,同时定义了一个日期端点向量:
diff( y <- as.Date(c("08-Oct-2015","30-Mar-2017"), format="%d-%b-%Y") )
Time difference of 539 days
如果指定从表返回的值,则可以按位置或名称对其进行索引:
daytbl <- table( format( seq( y[1], y[2], by=1), "%Y") )
daytbl["2015"] # should return 85 with "2015" as a "name"
daytbl as.Date()可能是您开始查找的好地方如果您想按年份分类,这种方法不会真正起作用,因为它会返回标量。
daytbl <- table( format( seq( y[1], y[2], by=1), "%Y") )
daytbl["2015"] # should return 85 with "2015" as a "name"