Процентное изменение в цикле - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть фрейм данных, в котором я установил район и год в качестве многоуровневого индекса.Я хочу рассчитать процентное изменение для каждого столбца ('DEM', 'REP' и т. Д.) Для каждого района для каждого года.

enter image description here

Iизучили этот предыдущий вопрос SO и попытались использовать следующий код:

for idx, districts_bydistrict_select in districts_bydistrict.groupby(level=[0, 1]):
    y = districts_bydistrict.pct_change()
    print(pd.DataFrame(y))

Однако он не распознает начало вычисления pct_change () при появлении нового округа.Я понимаю, что, возможно, мне не хватает какой-то части цикла for.

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете просто указать уровень в своем groupby.

districts_bydistrict.groupby(level='Year').pct_change()

. Вы можете разгруппировать районы, чтобы у вас было только время в индексе, вычислить pct_change, а затем перекомпоновать районы.

districts_bydistrict.unstack('DISTRICTS').pct_change().stack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...