我在数据帧中有一个日期,我想创建另一个数据帧列,其中包含此日期(期权到期)和今天之间的天数。 日期如下所示:
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"):
date_format = '%m/%d/%y'
%Y
表示四位数的年份,%YY
表示以"Y"结尾的四位数年份,例如"2015Y"。
s = '05/29/15'
>>> dt.datetime.strptime(s, '%m/%d/%y').date()
datetime.date(2015, 5, 29)