Этот вопрос уже задавался несколько раз, но я все еще не могу найти решение, которое работает с моим набором данных.
Мне нужно сгруппировать мой фрейм данных по двум столбцам, а затем заменить остальные столбцы с накопленной суммой каждого столбца, нормализованной по максимуму каждого столбца.Например, объект groupby будет выглядеть так:
df.groupby(['level0','level1'])
level0 level1 col1 col2 col3 col4
a 1
2
3
...
23
24
b 1
2
3
...
23
24
Я хотел бы сделать что-то вроде
df.groupby(['level0','level1']).apply(lambda x:x.cumsum/max(x))
или
df.groupby(['level0','level1']).transform(pd.Series.cumsum)
, где последнийна самом деле новые столбцы не помещаются вместо старых и не нормализуются, но это могло бы послужить отправной точкой.
Однако в качестве выходных данных я всегда получаю те же столбцы, что и входные., не нормированная накопленная сумма.Я пробовал разные подходы, предложенные в других вопросах, но всегда получал один и тот же результат.