将NAT日期替换为另一列Python Pandas中的数据

时间:2016-08-30 08:13:18

标签: python pandas

我在使用其他专栏的数据替换NAT日期时遇到了困难。顺便说一句,我正在使用python pandas。

例如

       Column1            Column2
       02-12-2006         2006
       05-12-2005         2005
       NAT                2008
       15-02-2015         2015
       NAT                2001

我在column1中有有效日期,而在column2中只有年份,我如何使用基于同一行的第2列中的年份来估算NAT值。

我的愿望结果将是

       Column1            Column2
       02-12-2006         2006
       05-12-2005         2005
       2008               2008
       15-02-2015         2015
       2001               2001

1 个答案:

答案 0 :(得分:6)

df.Column1.combine_first(df.Column2)

0    2006-02-12 00:00:00
1    2005-05-12 00:00:00
2                   2008
3    2015-02-15 00:00:00
4                   2001
Name: Column1, dtype: object

更好的答案

df.Column1 = np.where(df.Column1.notnull(),
                      df.Column1.dt.strftime('%Y-%m-%d'),
                      df.Column2)

df

enter image description here