Groupby.cumsum
Obtain the cumulative sum per groups for each column
danfo.Groupby.cumsum() [source]
Parameters: None
Return: DataFrame
Examples
Obtain the cumulative sum of a column for each groups, group by one column
Node
1
const dfd = require("danfojs-node")
2
3
4
let data ={A: ['foo', 'bar', 'foo', 'bar',
5
'foo', 'bar', 'foo', 'foo'],
6
B: ['one', 'one', 'two', 'three',
7
'two', 'two', 'one', 'three'],
8
C: [1,3,2,4,5,2,6,7],
9
D: [3,2,4,1,5,6,7,8]
10
}
11
12
let df = new dfd.DataFrame(data)
13
14
let grp = df.groupby(["A"])
15
grp.col(["C"]).cumSum().print()
Copied!
1
╔════════════╤═══════════════════╤═══════════════════╗
2
║ │ A │ C_cumsum ║
3
╟────────────┼───────────────────┼───────────────────╢
4
║ 0 │ foo │ 1 ║
5
╟────────────┼───────────────────┼───────────────────╢
6
║ 1 │ foo │ 3 ║
7
╟────────────┼───────────────────┼───────────────────╢
8
║ 2 │ foo │ 8 ║
9
╟────────────┼───────────────────┼───────────────────╢
10
║ 3 │ foo │ 14 ║
11
╟────────────┼───────────────────┼───────────────────╢
12
║ 4 │ foo │ 21 ║
13
╟────────────┼───────────────────┼───────────────────╢
14
║ 5 │ bar │ 3 ║
15
╟────────────┼───────────────────┼───────────────────╢
16
║ 6 │ bar │ 7 ║
17
╟────────────┼───────────────────┼───────────────────╢
18
║ 7 │ bar │ 9 ║
19
╚════════════╧═══════════════════╧═══════════════════╝
Copied!
Obtain the cumsum for two columns for each group, group by one column
Node
1
const dfd = require("danfojs-node")
2
3
4
let data ={A: ['foo', 'bar', 'foo', 'bar',
5
'foo', 'bar', 'foo', 'foo'],
6
B: ['one', 'one', 'two', 'three',
7
'two', 'two', 'one', 'three'],
8
C: [1,3,2,4,5,2,6,7],
9
D: [3,2,4,1,5,6,7,8]
10
}
11
12
let df = new dfd.DataFrame(data)
13
14
let grp = df.groupby(["A"])
15
grp.col(["C","D"]).cumSum().print()
Copied!
1
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
2
║ │ A │ C_cumsum │ D_cumsum ║
3
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
4
║ 0 │ foo │ 1 │ 3 ║
5
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
6
║ 1 │ foo │ 3 │ 7 ║
7
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
8
║ 2 │ foo │ 8 │ 12 ║
9
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
10
║ 3 │ foo │ 14 │ 19 ║
11
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
12
║ 4 │ foo │ 21 │ 27 ║
13
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
14
║ 5 │ bar │ 3 │ 2 ║
15
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
16
║ 6 │ bar │ 7 │ 3 ║
17
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
18
║ 7 │ bar │ 9 │ 9 ║
19
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Obtain the cumsum for a column for each group, group by two columns
Node
1
const dfd = require("danfojs-node")
2
3
let data ={A: ['foo', 'bar', 'foo', 'bar',
4
'foo', 'bar', 'foo', 'foo'],
5
B: ['one', 'one', 'two', 'three',
6
'two', 'two', 'one', 'three'],
7
C: [1,3,2,4,5,2,6,7],
8
D: [3,2,4,1,5,6,7,8]
9
}
10
11
let df = new dfd.DataFrame(data)
12
13
let grp = df.groupby(["A","B"])
14
grp.col(["C"]).cumSum().print()
Copied!
1
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
2
║ │ A │ B │ C_cumsum ║
3
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
4
║ 0 │ foo │ one │ 1 ║
5
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
6
║ 1 │ foo │ one │ 7 ║
7
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
8
║ 2 │ foo │ two │ 2 ║
9
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
10
║ 3 │ foo │ two │ 7 ║
11
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
12
║ 4 │ foo │ three │ 7 ║
13
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
14
║ 5 │ bar │ one │ 3 ║
15
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
16
║ 6 │ bar │ three │ 4 ║
17
╟────────────┼───────────────────┼───────────────────┼───────────────────╢
18
║ 7 │ bar │ two │ 2 ║
19
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Obtain the count for two columns for each group, group by two columns
Node
1
const dfd = require("danfojs-node")
2
3
let data ={A: ['foo', 'bar', 'foo', 'bar',
4
'foo', 'bar', 'foo', 'foo'],
5
B: ['one', 'one', 'two', 'three',
6
'two', 'two', 'one', 'three'],
7
C: [1,3,2,4,5,2,6,7],
8
D: [3,2,4,1,5,6,7,8]
9
}
10
11
let df = new dfd.DataFrame(data)
12
13
let grp = df.groupby(["A","B"])
14
grp.col(["C","D"]).cumSum().print()
Copied!
1
╔════════════╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
2
║ │ A │ B │ C_cumsum │ D_cumsum ║
3
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
4
║ 0 │ foo │ one │ 1 │ 3 ║
5
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
6
║ 1 │ foo │ one │ 7 │ 10 ║
7
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
8
║ 2 │ foo │ two │ 2 │ 4 ║
9
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
10
║ 3 │ foo │ two │ 7 │ 9 ║
11
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
12
║ 4 │ foo │ three │ 7 │ 8 ║
13
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
14
║ 5 │ bar │ one │ 3 │ 2 ║
15
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
16
║ 6 │ bar │ three │ 4 │ 1 ║
17
╟────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
18
║ 7 │ bar │ two │ 2 │ 6 ║
19
╚════════════╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Copy link