Сравнение значений в панде - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть df как

enter image description here

Я хочу отфильтровать процентное изменение и общее изменение между различными кварталами за год.

enter image description here

Я не уверен, как я могу начать это на python, любая помощь будет оценена.

Учитывая, что у меня есть много параметров для имени.мне нужно использовать группу по фильтру для каждого KPI, ГОДА и квартала, я попытался

d2['d'] = d2.groupby(['KPI', 'Quarter', ])['Number'].apply( lambda x: (x - x.shift(4))/x  )

1 Ответ

0 голосов
/ 17 декабря 2018

Используйте Series,pct_change для групп, кратных mul и при необходимости round:

d2['Percent Change'] = (d2.groupby(['KPI', 'Quarter'])['Number']
                          .transform(pd.Series.pct_change)
                          .mul(100)
                          .round())

Дляобщее изменение добавить cumsum

d2['Total Change'] = d2['Number'].pct_change().cumsum().mul(100).round().fillna(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...