2017-04-05 64 views
1

我想写一个函数,返回一些日期在Python中。如果其他逻辑与空日期

def set_deadline(row): 
    if row["date1"] is not None: 
     return row["date1"]+ relativedelta(days=+90) 
    else: 
     return None 

由于一些记录有date1场失踪(NAT),错误

坏月份数楠;必须是1-12

显示为什么我尝试在我的数据框上使用此功能。如何更改函数,以便在date1字段缺失的情况下截止日期为南或无?

我也尝试了通过执行以下操作来定义时限字段:

df['Deadline']= df['date1']+ relativedelta(days=+90) 

,但我得到了错误

不兼容的类型[对象]为一个日期/ timedelta操作

+0

您是否尝试过将数据帧转换为datetime时间,然后添加relativedelta? – karthikr

+0

您可以使用np.isnan()方法来检查数据是否不是NaN。 –

回答

0

这对python例外很有用。你没有给出你所看到的确切例外,但你应该限制这个例外。

def set_deadline(row): 
    try: 
     return row["date1"] + relativedelta(days=90) 
    except: 
     return row["date1"]