我有一个包含多个日期列的数据集,如下所示
输入Dataframe
> df
Date1 Date2 Date3
2008-08-11 NaT 2005-05-14
2010-06-18 2012-09-04 2003-01-16
NaT 2006-11-05 1999-03-31
期望输出值
我想添加一个列minDatecol
> df
Date1 Date2 Date3 minDatecol
2008-08-11 NaT 2005-05-14 Date3
2010-06-18 2012-09-04 2003-01-16 Date3
NaT 2006-11-05 2009-03-31 Date2
我尝试了df[cols].idxmin(axis=1)
,但得到如下错误
ValueError: attempt to get armin of a empty sequence
你能提供什么帮助吗?
使用说明:
cols = ['Date1','Date2','Date3']
df['minDatecol'] = df[cols].fillna(pd.Timestamp.max).idxmin(axis=1)
print (df)
Date1 Date2 Date3 minDatecol
0 2008-08-11 NaT 2005-05-14 Date3
1 2010-06-18 2012-09-04 2003-01-16 Date3
2 NaT 2006-11-05 2009-03-31 Date2