Потенциально вы можете сделать это
Сначала настройте примерный фрейм данных
from isoweek import Week
df = pd.DataFrame ({'year' : [2018,2019,2019],
'week' : [18,17,17]})
Циклически перебирайте фрейм данных, добавляя isoweek в список
ls_isoweek = []
for row in df.itertuples():
ls_isoweek.append(Week(row[1],row[2]))
Список выглядит следующим образом
[isoweek.Week(2018, 18), isoweek.Week(2019, 17), isoweek.Week(2019, 17)]
К этому списку можно получить доступ таким образом
ls_isoweek[0] - 4
Создает этот вывод
isoweek.Week(2018, 14)
Однако список также можно добавить обратнок кадру данных, если вы хотите
df['isoweek'] = ls_isoweek
Затем вы можете делать такие вещи, как ...
df['isoweek_minus_4'] = df['isoweek'].apply(lambda x: x-4)
Создание вывода, как показано ниже
![enter image description here](https://i.stack.imgur.com/jZEde.png)