Я пытаюсь создать категориальную переменную из непрерывной переменной datetime.
В основном, если они между 15 и 25, то Age_category = 1, если они между 25 и 35, то Age_category = 2.
У меня есть это, чтобы я мог сделать одно условие, это работает:
df.loc[(df['Age_days'] > timedelta(days=(25*365)), 'Age2')] = '1'
Когда я пытаюсь выполнить два условия, оно терпит неудачу:
df.loc[(df['Age_days'] > timedelta(days=(15*365)) & (df['Age_days'] <= timedelta(days=(25*365)), 'Age_cat'))] = '1'
Ошибка, которую я получаю, говорит о том, что ей не нравится использование '&':
TypeError: unsupported operand type(s) for &: 'datetime.timedelta' and 'tuple'
Я пытался заменить & на 'и', но это тоже не нравится:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Есть идеи, как мне это исправить?