Как рассчитать на основе нескольких условий, используя фреймы данных Python?

1

У меня есть файл данных excel с тысячами строк и столбцов. Я использую python и начал использовать pandas dataframes для анализа данных. То, что я хочу сделать в столбце D, - рассчитать ежегодное изменение значений в столбце C для каждого года для каждого идентификатора. Я могу использовать excel для этого - если идентификатор org такой же, как в предыдущей строке, вычисляйте годовое изменение (оставляя ячейки выделенными синим цветом, потому что это первый период для этого конкретного идентификатора). Я не знаю, как это сделать, используя python. Может ли кто-нибудь помочь? Изображение 174551

Теги:
pandas
dataframe

1 ответ

1

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

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

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

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

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

df[‘AnnChange] = df.groupby(‘ID).Cash.pct_change()
  • 0
    Спасибо! Будет ли это игнорировать вычисление% изменения для выделенных строк (первый год для идентификатора)? Кроме того - я все еще должен пройти через фрейм данных? Извините за основные вопросы - это мои вторые данные во фреймы данных.
  • 0
    Спасибо! Оба предложенных вами варианта сработали. Я действительно ценю ваш быстрый ответ. Приятного вечера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню