从Pandas

时间:2017-09-10 01:02:51

标签: python pandas datetime

policy.Exposure.fillna(pd.to_datetime(2016,12,31) - policy.EnrollDate,inplace=True)

我想用2016,12,31 - EnrollDate列的日差来填充我的Exposure列的缺失值。我该怎么写呢?

所有类似问题都是从另一列中减去一列,而不是从特定日期减去。 enter image description here

我使用CancelDate创建了一个Exposure列 - EnrollDate。然后由于有一些行,其中CancelDate是NaT,我在Expousre中的列为NaN。所以我试图用2016,12,31 - EnrollDate填充曝光列中的缺失值。然后将列中的值转换为浮动

policy['Exposure'] = policy.Exposure.dt.days

有更简单的方法吗?如添加条件: 如果CancelDate.notnull():Exposure = CancelDate - 注册 否则:曝光= 2016-12-31 - 注册

1 个答案:

答案 0 :(得分:1)

您可以使用NaT然后减去这些pd.Series.fillna值。

dt = pd.to_datetime('2016/12/31', format='%Y/%m/%d')
policy['Exposure'] = (policy.CancelDate.fillna(dt) - policy.EnrollDate).dt.days