У меня есть следующие df
,
doc_date date_string
2019-06-03 WW0306
2019-06-07 EH0706
doc_date
имеет datetime64
с форматом year-month-day
;date_string
имеет строку dtype
в формате day/month
или month/day
, если удалены нецифровые символы;
df['date_string'].str.replace(r'\D+', '')
Как преобразовать date_string
в datetime64
и установить флаг *От 1017 * до true
, если date_string
находится в пределах +/- 180 дней от doc_date
, не учитывая, что у него нет года и любого формата даты, в который он преобразован;
df['within_180'] = df.apply(lambda x: x.between(x.doc_date -
Timedelta(180, unit='d'),
x.doc_date +
Timedelta(180, unit='d')))
результатдолжно выглядеть,
doc_date date_string within_180
2019-06-03 WW0306 true
2019-06-07 EH0706 true