добавить новый столбец сравнения дат - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть датафрейм, который выглядит следующим образом:

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

Все даты представлены в формате даты-время панд.Я хотел бы создать новый столбец в этом фрейме данных, который сравнивает столбцы 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

Я думал об операторе if с помощью iterrows (), чтобы сделать это, но не уверен, как поместить значение строки в новый столбец.

1 Ответ

0 голосов
/ 19 декабря 2018

Вы можете просто взять минимум через 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...