Кумулятивное вычитание в Pandas Dataframe?Python

Программы на Python
Anonymous
Кумулятивное вычитание в Pandas Dataframe?

Сообщение Anonymous »

Я ищу способ получить столбец total_diff, как показано в этой таблице.
Если вы возьмете, к примеру, Джона, общее количество trainging_hours составит 250. В период с месяца 1 по месяц 4 часы не записывались. , поэтому total_diff остался 250.
В месяце 5 было записано 50 часов, поэтому total_diff для месяца 5 равен (250-50) = 200, месяца 6 (200-60) = 140 и так далее.
Тот же подход и для других имен.
Введите здесь описание изображения
Я попробовал приведенный ниже код, но он не сработал должным образом.

Код: Выделить всё

mask = ~df['month'].isin(['John_Total', 'Amber_Total', 'Barron_Total'])
df.loc[mask, 'total_diff'] = df[mask].groupby("name")['training_hours'].cumsum()
df['total_diff'] = df.groupby('name')['total_diff'].fillna(df['training_hours'])
df
Любая помощь о том, как добиться этого в Python?

Подробнее здесь: https://stackoverflow.com/questions/789 ... -dataframe

Вернуться в «Python»