Python. Условие по полю Дата (Timestamp) меньше или равно
Помогите, пожалуйста.
Пишу функцию, которая возвращает бинарный признак 1 или 0 - сразу по нескольким условиям, которые должны быть True, как говориться.
def ak(df3):
if df3['agr_count'] > 0 and df3['akt_count'] > 0 \
and (df3['akt_dt_max'] + timedelta(days=365) \
and (df3['akt_dt_max'] < '2023-05-22')):
val = 1
else :
val = 0
return val
Затем создаю в Датафрейме столбец
df3['no_akt_to_more_1_year'] = df3.apply(ak, axis=1)
Если запустить функцию, такую как я написал - выдает ошибку:
TypeError: '<' not supported between instances of 'Timestamp' and 'str'
Но, если из функции убрать последнее условие (df3['akt_dt_max'] < '2023-05-22')
или поменять его на (df3['akt_dt_max'] == '2023-05-22')
то код отрабатывает без проблем.
При этом я точно знаю, что в датафрейме есть даты ранее 2023-05-22.
И если прописываю аналогичное условие на импортированном датасете в MS Power BI - создаю столбец в таблице: Нет акта больше года = if(_table[agr_count]>0 && _table[akt_count]>0 && (_table[akt_dt_max]+365)<=date(2023,5,22),1,0)
тоже все срабатывает, столбец создается с бинарным признаком 1 и 0, как и положено.
Как мне все таки написать такое условие в Python?