【发布时间】:2017-07-20 03:40:54
【问题描述】:
我有一个 pandas 数据框,其中有两列包含日期。我想知道两个日期之间的年数,同时考虑闰年。
理想的解决方案不会假设一年总是有一定天数。因为年份并不总是有 365 天。
样本数据:
date_end date_start
2010-02-09 1933-03-03
2010-03-19 1924-04-08
2010-04-19 1924-04-08
2010-09-06 1924-04-08
2010-09-24 1924-04-08
2010-01-09 1933-04-29
2010-02-26 1933-04-29
2010-01-31 1953-06-10
2010-07-07 1928-11-14
2010-12-01 1974-11-17
date_start 和 date_end 属于“日期时间”dtype。我想要一个新列,即两个日期之间的年数。获取两个日期之间的天数(df['diff'] = df.date_end - df.date_start)很简单,但后来我遇到了麻烦,因为给定天数的年数取决于天数发生的“时间”,因为闰年。
这类似于一个人的年龄。我已经尝试为类似问题调整一些解决方案,但许多问题是关于两个日期之间的天数或周数。我已经有办法在不考虑闰年的情况下获得年数,但我想要更正确。
【问题讨论】:
-
所以从 2016 年 1 月 1 日到 2017 年 1 月 1 日是一年。从 2016 年 2 月 28 日到 2017 年 2 月 28 日呢?从 2016 年 2 月 29 日到 2017 年 2 月 28 日?从 2016 年 2 月 29 日到 2017 年 3 月 1 日?从 2015 年 3 月 1 日到 2016 年 2 月 29 日?
标签: python date pandas datetime