我有一个数据帧(df
),其头部看起来像:
DATE NEW_DATE
0 2014-03-04 2014-04-03
1 2014-04-04 2014-04-04
2 2014-07-04 2014-04-07
3 2014-08-04 2014-04-08
4 2014-09-04 2014-04-09
5 2014-10-04 2014-04-10
6 2014-11-04 2014-04-11
7 2014-04-14 NaT
8 2014-04-15 NaT
我想添加一列FINAL_DATE
,它看起来在NEW_DATE
上,如果格式是有效日期,则选择NEW_DATE
值,否则使用DATE值。因此,在上述数据框中,输出如下所示:
DATE NEW_DATE FINAL_DATE
0 2014-03-04 2014-04-03 2014-04-03
1 2014-04-04 2014-04-04 2014-04-04
2 2014-07-04 2014-04-07 2014-04-07
3 2014-08-04 2014-04-08 2014-04-08
4 2014-09-04 2014-04-09 2014-04-09
5 2014-10-04 2014-04-10 2014-04-10
6 2014-11-04 2014-04-11 2014-04-11
7 2014-04-14 NaT 2014-04-14
8 2014-04-15 NaT 2014-04-15
我现在需要使用以下内容:
df['FINAL_DATE'] = np.where(df['NEW_DATE'] == VALIDDATE, df['NEW_DATE'] , df['DATE'])
请问有人可以告诉我如何在NEW_DATE
栏中查看有效日期吗?
谢谢
答案 0 :(得分:2)
您非常亲密,有几种方法可以实现这一目标。一种方式:
df.NEW_DATE.fillna(df.DATE, inplace=True)
df
DATE NEW_DATE
0 2014-03-04 2014-04-03
1 2014-04-04 2014-04-04
2 2014-07-04 2014-04-07
3 2014-08-04 2014-04-08
4 2014-09-04 2014-04-09
5 2014-10-04 2014-04-10
6 2014-11-04 2014-04-11
7 2014-04-14 2014-04-14
8 2014-04-15 2014-04-15