【发布时间】:2018-02-17 00:17:22
【问题描述】:
我有两列日期需要比较,date1 是某些日期的列表,date2 是随机日期(dob)。我需要通过某种条件比较月份和日期来制作标志。样例:
df_sample = DataFrame({'date1':('2015-01-15','2015-01-15','2015-03-15','2015-04-15','2015-05-15'),
'dob':('1999-01-25','1987-12-12','1965-03-02','2000-08-02','1992-05-15')}
我根据以下条件创建一个函数
def eligible(date1,dob):
if date1.month - dob.month==0 and date1.day <= dob.day:
return 'Y'
elif date1.month - dob.month==1 and date1.day > dob.day:
return 'Y'
else:
return 'N'
我想将这个函数应用到原始 df 超过 5M 行,因此 for 循环效率不高,有什么方法可以实现吗?
数据类型是 date,而不是 datetime
【问题讨论】:
-
嘿,我不考虑年份,我只需要比较月份和日期