Создайте дополнительное условие на основе столбца в pandas - PullRequest
1 голос
/ 28 января 2020

У меня есть фрейм данных, как показано ниже

Tenancy_ID         Start_Date                  Cancelled_Date
1                  2011-10-02 07:18:16         2011-12-02 08:15:16
2                  2012-10-22 07:18:17         NaT
1                  2013-06-02 07:14:12         NaT
3                  2016-10-02 07:18:16         2017-03-02 08:18:15

Исходя из вышеизложенного, я хотел бы создать новый столбец с именем Cancelled_Status на основе наличия даты отмены в Cancelled_Date.

Ожидается Выход:

Tenancy_ID         Start_Date                  Cancelled_Date            Cancelled_status
1                  2011-10-02 07:18:16         2011-12-02 08:15:16       Cancelled
2                  2012-10-22 07:18:17         NaT                       Not_Cancelled
1                  2013-06-02 07:14:12         NaT                       Not_Cancelled
3                  2016-10-02 07:18:16         2017-03-02 08:18:15       Cancelled

1 Ответ

3 голосов
/ 28 января 2020

Использование numpy.where с Series.isna:

df['Cancelled_status'] = np.where(df['Cancelled_Date'].isna(), 'Not_Cancelled', 'Cancelled')

Альтернатива с Series.notna:

df['Cancelled_status'] = np.where(df['Cancelled_Date'].notna(), 'Cancelled', 'Not_Cancelled')
...