Datetime 提取数据帧日期和今天之间的天数

Datetime 提取数据帧日期和今天之间的天数,datetime,pandas,dataframe,Datetime,Pandas,Dataframe,我在数据框中有一个日期,我想创建另一个数据框列,该列的天数介于该日期(选项到期)和今天之间。日期如下所示: df2.expiration.head(1) 0 05/29/15 Name: expiration, dtype: object 我试过这个: from datetime import datetime def compare_dates(date): date_format = '%m/%d/%YY' current_date = datetime.strp

我在数据框中有一个日期,我想创建另一个数据框列,该列的天数介于该日期(选项到期)和今天之间。日期如下所示:

df2.expiration.head(1)

0    05/29/15
Name: expiration, dtype: object
我试过这个:

from datetime import datetime

def compare_dates(date):
    date_format = '%m/%d/%YY'
    current_date = datetime.strptime(date, date_format)  
    today = datetime.today()
    diff = current_date - today
    return diff.days

df2['days_since'] = df2['expiration'].apply(compare_dates)
但我收到一条很长的错误消息,最后一行是:

ValueError: time data '05/29/15' does not match format 'mm/dd/YY'
再次感谢您! John

请尝试以下操作(注意小写字母“y”):

%Y
表示四位数年份,
%YY
表示以“Y”结尾的四位数年份,例如“2015Y”

s = '05/29/15'
>>> dt.datetime.strptime(s, '%m/%d/%y').date()
datetime.date(2015, 5, 29)

不,发生了相同的情况ValueError:时间数据“05/29/15”与格式“%m/%d/%yy”不匹配抱歉。请重试,注意扩展的%mm和%dd分别为两位数的月份和天数。在这里可以找到完整的列表:我在发布之前已经尝试过,用较低的yy再次尝试,以确保仍然存在相同的错误:ValueError:时间数据“05/29/15”与格式“%mm/%dd/%yy”不匹配为帮助表示歉意听起来很奇怪:-)成功了,谢谢
s = '05/29/15'
>>> dt.datetime.strptime(s, '%m/%d/%y').date()
datetime.date(2015, 5, 29)