日期过滤并填充到Pandas中的另一列

时间:2018-11-05 02:41:18

标签: python-3.x pandas

我下面有两个日期列的数据集。

DATE_LOCAL_1400           DATE_LOCAL_3000               
                        10.02.2017 12:00:00             
10.02.2017 12:00:00                                     
10.02.2017 12:00:00     11.02.2017 12:00:00             
10.02.2017 12:00:00     12.02.2017 12:00:00            
13.02.2017 12:00:00                                     

我想使用计算下方的内容创建一个称为最终日期的新列

1。如果存在data_local_3000,则将该值填充到最终日期,否则填充date_local_1400

DATE_LOCAL_1400           DATE_LOCAL_3000               Final Date
                        10.02.2017 12:00:00             10.02.2017 12:00:00
10.02.2017 12:00:00                                     10.02.2017 12:00:00
10.02.2017 12:00:00     11.02.2017 12:00:00             11.02.2017 12:00:00
10.02.2017 12:00:00     12.02.2017 12:00:00             12.02.2017 12:00:00
13.02.2017 12:00:00                                     13.02.2017 12:00:00

如何在python中执行此操作。

2 个答案:

答案 0 :(得分:0)

使用np.select:

df['Final Date'] = np.select(df['DATE_LOCAL_3000'].isna(), # condition
                             df['DATE_LOCAL_1400'], # choice
                             df['DATE_LOCAL_3000']) # default value

答案 1 :(得分:0)

使用适用于axis = 1或axis ='columns'的应用。

df["Final Date"] = df.apply(lambda x: x["DATE_LOCAL_3000"] if x["DATE_LOCAL_3000"] else x["DATE_LOCAL_1400"], axis=1)