У меня есть фрейм данных, который включает столбцы "call_date", который является датой вызова и "call_week", который является номером недели (неделя не обязательно начинается в понедельник или воскресенье и не обязательно длится ровно 7 дней):
Что я хочу сделать, так это добавить новый столбец данных, который будет содержать граничные даты недели, разделенные знаком "-". Например, если у нас есть WEEK
68 с минимальным CALL_DATE
из 2019-04-25
и максимальным CALL_DATE
из 2019-04-30
, новый столбец должен содержать значение 2019-04-25 - 2019-04-30
.
Я пытался:
dfg = df.groupby('WEEK')['CALL_DATE'].agg(['min', 'max']).reset_index()
dfg
:
Затем я добавил эти минимальные и максимальные столбцы к df
через join
:
df = df.join(dfg, lsuffix = 'WEEK', rsuffix = 'WEEK')
Теперь я пытаюсь применить функцию lambda
для объединения тех столбцов в один, который содержит результат:
df['WEEK_TEXT'] = df.apply(lambda x : x['min'].strftime("%d.%m.%Y") + ' - ' + x['max'].strftime("%d.%m.%Y"))
Но я получаю ошибку: KeyError: ('min', 'occurred at index CONTACT_ID')
Как мне это исправить?