Groupby.sum
Obtain the sum per groups for columns
danfo.Groupby.sum() [source]
Parameters: None
Return: DataFrame
Examples
Obtain the sum of a column for each group, group by one column
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
14
let grp = df.groupby(["A"])
15
grp.col(["C"]).sum().print()
Copied!
1
2
Shape: (2,2)
3
4
╔═══╤═══════════════════╤═══════════════════╗
5
║ │ A │ C_sum ║
6
╟───┼───────────────────┼───────────────────╢
7
║ 0 │ foo │ 21 ║
8
╟───┼───────────────────┼───────────────────╢
9
║ 1 │ bar │ 9 ║
10
╚═══╧═══════════════════╧═══════════════════╝
Copied!
Obtain the sum for two columns for each group, group by one column
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
14
let grp = df.groupby(["A"])
15
grp.col(["C","D"]).sum().print()
Copied!
1
Shape: (2,3)
2
3
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
4
║ │ A │ C_sum │ D_sum ║
5
╟───┼───────────────────┼───────────────────┼───────────────────╢
6
║ 0 │ foo │ 21 │ 27 ║
7
╟───┼───────────────────┼───────────────────┼───────────────────╢
8
║ 1 │ bar │ 9 │ 9 ║
9
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Obtain the sum 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
14
let grp = df.groupby(["A","B"])
15
grp.col(["C"]).sum().print()
Copied!
1
Shape: (5,3)
2
3
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
4
║ │ A │ B │ C_sum ║
5
╟───┼───────────────────┼───────────────────┼───────────────────╢
6
║ 0 │ foo │ one │ 7 ║
7
╟───┼───────────────────┼───────────────────┼───────────────────╢
8
║ 1 │ foo │ two │ 7 ║
9
╟───┼───────────────────┼───────────────────┼───────────────────╢
10
║ 2 │ foo │ three │ 7 ║
11
╟───┼───────────────────┼───────────────────┼───────────────────╢
12
║ 3 │ bar │ one │ 3 ║
13
╟───┼───────────────────┼───────────────────┼───────────────────╢
14
║ 4 │ bar │ two │ 2 ║
15
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Obtain the sum 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
14
let grp = df.groupby(["A","B"])
15
grp.col(["C","D"]).sum().print()
Copied!
1
Shape: (5,4)
2
3
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
4
║ │ A │ B │ C_sum │ D_sum ║
5
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
6
║ 0 │ foo │ one │ 7 │ 10 ║
7
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
8
║ 1 │ foo │ two │ 7 │ 9 ║
9
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
10
║ 2 │ foo │ three │ 7 │ 8 ║
11
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
12
║ 3 │ bar │ one │ 3 │ 2 ║
13
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
14
║ 4 │ bar │ two │ 2 │ 6 ║
15
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
Copied!
Last modified 1yr ago
Copy link