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

Jas*_*Yuk 2 python pandas

我在使用其他专栏的数据替换NAT日期时遇到了困难.我顺便使用python pandas.

例如

       Column1            Column2
       02-12-2006         2006
       05-12-2005         2005
       NAT                2008
       15-02-2015         2015
       NAT                2001
Run Code Online (Sandbox Code Playgroud)

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

我的愿望结果将是

       Column1            Column2
       02-12-2006         2006
       05-12-2005         2005
       2008               2008
       15-02-2015         2015
       2001               2001
Run Code Online (Sandbox Code Playgroud)

piR*_*red 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
Run Code Online (Sandbox Code Playgroud)

更好的答案

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

df
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述