Python:提取最早和最新列的列名



我有一个包含多个日期列的数据集,如下所示

输入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

最新更新