Расчет некумулятивного в новый столбец из кумулятивных значений (Python) - PullRequest
0 голосов
/ 06 апреля 2020

Моя цель - преобразовать ниже - Текущий вывод данных

enter image description here

Добавив новый столбец под названием Случаи, который не суммируется для дальнейшего анализа.

Я пробовал это решение, но я не уверен, в чем моя ошибка -

Data["Cases"] = Data.groupby(level=0).diff().fillna(Data).reset_index()

Пожалуйста, сообщите

1 Ответ

0 голосов
/ 06 апреля 2020

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

import pandas as pd

date = ['2020-03-01','2020-03-02','2020-03-03','2020-03-04','2020-03-05'] 
cases = [1, 2, 4, 7, 10]
data = list(zip(date, cases))

df = pd.DataFrame(data, columns=['Date','Cases'])
df['Lag'] = df.Cases.shift(1).fillna(0)
df['Daily Cases'] = df.Cases - df.Lag

print(df)
         Date  Cases  Lag  Daily Cases
0  2020-03-01      1  0.0          1.0
1  2020-03-02      2  1.0          1.0
2  2020-03-03      4  2.0          2.0
3  2020-03-04      7  4.0          3.0
4  2020-03-05     10  7.0          3.0

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

Не забудьте пометить этот ответ как принятый, если он вам поможет

...