Я хотел бы применить cumsum только к 1 конкретному столбцу, поскольку у меня есть другие значения в разных столбцах, которые должны оставаться неизменными.
Это сценарий, который у меня есть до сих пор
df.groupby(by=['name','day']).sum().groupby(level=[0]).cumsum()
Однако этот скрипт приводит к тому, что все мои столбцы в моем pandas df будут накапливаться. Единственный столбец, который должен накапливать сумму, это data
.
В соответствии с просьбой, вот некоторые примеры данных:
df = pd.DataFrame({'ID': ["880022443344556677787", "880022443344556677782", "880022443344556677787",
"880022443344556677782", "880022443344556677787", "880022443344556677782",
"880022443344556677781"],
'Month': ["201701", "201701", "201702", "201702", "201703", "201703", "201703"],
'Usage': [20, 40, 100, 50, 30, 30, 2000],
'Sec': [10, 15, 20, 1, 5, 6, 30]})
ID Month Sec Usage
0 880022443344556677787 201701 10 20
1 880022443344556677782 201701 15 40
2 880022443344556677787 201702 20 100
3 880022443344556677782 201702 1 50
4 880022443344556677787 201703 5 30
5 880022443344556677782 201703 6 30
6 880022443344556677781 201703 30 2000
Желаемый результат
ID Month Sec Usage
0 880022443344556677787 201701 10 20
1 880022443344556677782 201701 15 40
2 880022443344556677787 201702 20 120
3 880022443344556677782 201702 1 90
4 880022443344556677787 201703 5 150
5 880022443344556677782 201703 6 120
6 880022443344556677781 201703 30 2000