2017-04-05 12 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フィールドがない場合、締め切りがNanまたはNoneになるように関数を変更するにはどうすればよいですか?

また、私はちょうど次の操作を行って、期限フィールドを定義しようとしました:

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"] 
関連する問題