首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >添加新列比较日期

添加新列比较日期
EN

Stack Overflow用户
提问于 2018-12-19 06:31:47
回答 1查看 45关注 0票数 1

我有一个数据帧,看起来像这样:

id    status    date_1         date_2
1       yes     2018-12-18     NaT
2       no      2018-06-30     2016-05-31
3       no      NaT            2014-04-15
4       yes     2010-01-01     2018-05-10

所有日期都是pandas datetime格式。我想在这个数据框中创建一个新列,它比较date_1和date_2列以选择最早的日期并将其放入新列中,或者如果date_1或date_2中有NaT,则将另一个值放入新列中,如下所示:

id    status    date_1         date_2        new_column
1       yes     2018-12-18     NaT           2018-12-18
2       no      2018-06-30     2016-05-31    2016-05-31
3       no      NaT            2014-04-15    2014-04-15
4       yes     2010-01-01     2018-05-10    2010-01-01

我考虑过使用带有iterrows()的if语句来完成此操作,但不确定如何将行的值放入新列中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 06:34:39

你可以通过pd.DataFrame.min只取最小值,因为skipna=True默认是:

df['new_col'] = df[['date_1', 'date_2']].min(1)

print(df)

   id status     date_1     date_2    new_col
0   1    yes 2018-12-18        NaT 2018-12-18
1   2     no 2018-06-30 2016-05-31 2016-05-31
2   3     no        NaT 2014-04-15 2014-04-15
3   4    yes 2010-01-01 2018-05-10 2010-01-01
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53842077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档