Как рассчитать на основе нескольких условий, используя фреймы данных Python? - PullRequest
0 голосов
/ 29 августа 2018

У меня есть файл данных Excel с тысячами строк и столбцов. Я использую Python и начал использовать Pandas DataFrames для анализа данных. В столбце D я хочу рассчитать годовое изменение значений в столбце C для каждого года для каждого идентификатора. Для этого я могу использовать Excel - если идентификатор организации такой же, как в предыдущем ряду, рассчитать годовое изменение (оставив ячейки выделенными синим, потому что это первый период для этого конкретного идентификатора). Я не знаю, как сделать это с помощью Python. Кто-нибудь может помочь? Screenshot of the excel sheet I am working on

1 Ответ

0 голосов
/ 29 августа 2018

Предполагается, что фрейм данных уже отсортирован

df.groupby(‘ID’).Cash.pct_change()

Однако вы можете ускорить процесс, если предположить, что все отсортировано. Поскольку нет необходимости группировать, чтобы рассчитать процентное изменение от одной строки к следующей

df.Cash.pct_change().mask(
    df.ID != df.ID.shift()
)

Это должно привести к значениям столбца, которые вы ищете. Чтобы добавить столбец, вам нужно назначить столбцу или создать новый фрейм данных с новым столбцом

df[‘AnnChange’] = df.groupby(‘ID’).Cash.pct_change()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...