import pandas as pd
import datetime as datetime
df['Calender Week'] = pd.to_datetime(df['Calender Week'] + '-0', format = '%Y%W-%w')
df.groupby([df['C'], df['Calender Week'].dt.week])['Revenue'].mean()
Это делает то, что вы хотите.Сначала вы должны изменить столбец «Неделя календаря» на datetime.В конвертации мне пришлось добавить '-0', чтобы конвертировать правильно.Все, что он делает, - это решает, начинается ли неделя в воскресенье или понедельник, что в нашем случае не имеет значения.
Во второй строке мы используем groupby.Мы группируем страну и фактическую календарную неделю (от 1 до 52), представленную .dt.week
.Мы смотрим на столбец Доход и, наконец, берем среднее значение.
Результат из моих случайно созданных тестовых данных выглядит следующим образом:
C Calender Week
France 50 16.50
51 25.00
52 30.00
USA 50 14.00
51 13.25
52 30.50