Я новичок в Python. Во фрейме данных есть два столбца: DOB (Дата рождения) и DOD (Дата смерти). Я хочу создать новый категориальный столбец в фрейме данных с именем «IS_ALIVE». Условие для этого нового поля, IS_ALIVE, должно быть «1», когда DOB заполнен, а DOD равен нулю; IS_ALIVE должен быть "0", когда DOB и DOD оба не равны нулю, что означает, что некоторая дата заполняется DOD.

Я искал и пробовал несколько способов, но безуспешно. Пожалуйста помогите.






Вы можете создать логическую маску с помощью isna и notna, связанных цепочкой & (побитовое И), и преобразовать в целые числа для True/False в 1/0:
df['IS_ALIVE'] = (df.DOB.notna() & df.DOD.isna()).astype(int)
#for old versions of pandas
#df['IS_ALIVE'] = (df.DOB.notnull() & df.DOD.isnull()).astype(int)