【问题标题】:if else logic with empty datesif else 带有空日期的逻辑
【发布时间】:2017-08-30 10:02:26
【问题描述】:

我正在尝试编写一个在 python 中返回一些日期的函数。

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

由于某些记录缺少date1 字段(NaT),因此错误

坏月数nan;必须是 1-12

显示了为什么我尝试在我的数据框上使用此功能。如果缺少 date1 字段,如何更改函数以使截止日期为 Nan 或 None?

我还尝试通过执行以下操作来定义截止日期:

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

但我得到了错误

日期时间/时间增量操作的类型 [object] 不兼容

【问题讨论】:

  • 您是否尝试过将数据帧转换为日期时间,然后添加相对增量?
  • 您可以使用np.isnan()方法来检查数据是否不是NaN。

标签: python date pandas datetime if-statement


【解决方案1】:

这对python异常很有用。您没有给出您所看到的确切异常,但您应该将其限制为该异常。

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

【讨论】:

    猜你喜欢
    • 2019-01-26
    • 2016-03-24
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    相关资源
    最近更新 更多