2017-04-05 63 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"]