Python:一个日期为NAT时的日期差

Python:一个日期为NAT时的日期差,python,python-3.x,pandas,numpy,Python,Python 3.x,Pandas,Numpy,我有两个datetime列。一列包含所有有效数据,另一列缺少日期字段,因此存在一些NaT。目前的问题是,我需要计算两列之间的差值,但无论第二列中何时有NaT值,结果列都应该有非常大的值,比如100000。以下是一个例子: 输入数据: signup_date bgc_date 2016-01-02 NaT 2016-01-21 NaT 2016-01-11 2016-01-11 2016-01-29 2016-01-30 预期产量 `signup_date bgc_date

我有两个
datetime
列。一列包含所有有效数据,另一列缺少日期字段,因此存在一些
NaT
。目前的问题是,我需要计算两列之间的差值,但无论第二列中何时有
NaT
值,结果列都应该有非常大的值,比如100000。以下是一个例子:

输入数据:

signup_date bgc_date
2016-01-02  NaT
2016-01-21  NaT
2016-01-11  2016-01-11
2016-01-29  2016-01-30
预期产量

`signup_date    bgc_date           difference
 2016-01-02     NaT                  100000
 2016-01-21     NaT                  100000
 2016-01-11    2016-01-11             0
 2016-01-29    2016-01-30             1`
我尝试的是:

for i in range(len(df2)):
if pd.notnull(df2[i]['bgc_date']):
    df2[i]['diff'] = df2[i]['bgc_date']- df2[i]['signup_date']
else:
    df2[i]['diff']=10000

但是,这会导致错误。有人可以帮忙吗。

您可以减去这两列,然后用时间增量填充缺失的值:

(df.bgc_date - df.signup_date).fillna(pd.Timedelta(days=10000)).dt.days

#0    10000
#1    10000
#2        0
#3        1
#dtype: int64

我发现了这个错误:
TypeError:data type“datetime”不可理解
您能稍微诊断一下抛出错误的部分吗?确保
bgc_date
signup_date
两列都是日期时间数据类型。如果不使用
pd.to\u datetime
转换。