Сначала вы должны построить вспомогательную серию с тем же индексом, что и df
и чередующимися значениями 0 и 1:
x = pd.Series(0, index=df.index)
x[x.index % 2 == 0] = 1
Затем вы можете использовать его для группировки строк df по парам:
resul = df.groupby(['item', x.cumsum()]).sum().reset_index(level=0).reset_index(drop=True)
Это должно дать ожидаемый результат (я не могу показать, так как я не мог скопировать образец данных)