Groupby.cummin

Obtain the cummulative minimum per groups for each column

danfo.Groupby.cummin() [source]

Parameters: None

Return: DataFrame

Examples

Obtain the cumulative min of a column for each groups, group by one column

Node
Node
const dfd = require("danfojs-node")
let data ={'A': ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'C': [1,3,2,4,5,2,6,7],
'D': [3,2,4,1,5,6,7,8]
}
let df = new dfd.DataFrame(data)
let grp = df.groupby(["A"])
grp.col(["C"]).cummin().head().print()
grp.col(["C"]).cummin().tail().print()
Shape: (5,2)
╔═══╤═══════════════════╤═══════════════════╗
║ │ A │ C_cummin ║
╟───┼───────────────────┼───────────────────╢
║ 0 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 1 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 2 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 3 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 4 │ foo │ 1 ║
╚═══╧═══════════════════╧═══════════════════╝
Shape: (5,2)
╔═══╤═══════════════════╤═══════════════════╗
║ │ A │ C_cummin ║
╟───┼───────────────────┼───────────────────╢
║ 3 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 4 │ foo │ 1 ║
╟───┼───────────────────┼───────────────────╢
║ 5 │ bar │ 3 ║
╟───┼───────────────────┼───────────────────╢
║ 6 │ bar │ 3 ║
╟───┼───────────────────┼───────────────────╢
║ 7 │ bar │ 2 ║
╚═══╧═══════════════════╧═══════════════════╝

Obtain the cummin for two columns for each group, group by one column

Node
Node
const dfd = require("danfojs-node")
let data ={'A': ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'C': [1,3,2,4,5,2,6,7],
'D': [3,2,4,1,5,6,7,8]
}
let df = new dfd.DataFrame(data)
let grp = df.groupby(["A"])
grp.col(["C","D"]).cummin().head().print()
grp.col(["C","D"]).cummin().tail().print()
Shape: (5,3)
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ C_cummin │ D_cummin ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 0 │ foo │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 1 │ foo │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 2 │ foo │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 3 │ foo │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 4 │ foo │ 1 │ 3 ║
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Shape: (5,3)
╔════╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ C_cummin │ D_cummin ║
╟────┼───────────────────┼───────────────────┼───────────────────╢
║ 11 │ bar │ 3 │ 1 ║
╟────┼───────────────────┼───────────────────┼───────────────────╢
║ 12 │ bar │ 2 │ 1 ║
╟────┼───────────────────┼───────────────────┼───────────────────╢
║ 13 │ bar │ 3 │ 2 ║
╟────┼───────────────────┼───────────────────┼───────────────────╢
║ 14 │ bar │ 3 │ 1 ║
╟────┼───────────────────┼───────────────────┼───────────────────╢
║ 15 │ bar │ 2 │ 1 ║
╚════╧═══════════════════╧═══════════════════╧═══════════════════╝

Obtain the cummin for a column for each group, group by two columns

Node
Node
const dfd = require("danfojs-node")
let data ={'A': ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'C': [1,3,2,4,5,2,6,7],
'D': [3,2,4,1,5,6,7,8]
}
let df = new dfd.DataFrame(data)
let grp = df.groupby(["A","B"])
grp.col(["C"]).cummin().head().print()
grp.col(["C"]).cummin().tail().print()
Shape: (5,3)
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ B │ C_cummin ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 0 │ foo │ one │ 1 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 1 │ foo │ one │ 1 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 2 │ foo │ two │ 2 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 3 │ foo │ two │ 2 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 4 │ foo │ three │ 7 ║
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
Shape: (5,3)
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ B │ C_cummin ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 3 │ foo │ two │ 2 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 4 │ foo │ three │ 7 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 5 │ bar │ one │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 6 │ bar │ two │ 2 ║
╟───┼───────────────────┼───────────────────┼───────────────────╢
║ 7 │ bar │ three │ 4 ║
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝

Obtain the cummin for two columns for each group, group by two columns

Node
Node
const dfd = require("danfojs-node")
let data ={'A': ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'C': [1,3,2,4,5,2,6,7],
'D': [3,2,4,1,5,6,7,8]
}
let df = new dfd.DataFrame(data)
let grp = df.groupby(["A","B"])
grp.col(["C","D"]).cummin().head().print()
grp.col(["C","D"]).cummin().tail().print()
Shape: (5,4)
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ B │ C_cummin │ D_cummin ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 0 │ foo │ one │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 1 │ foo │ one │ 1 │ 3 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 2 │ foo │ two │ 2 │ 4 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 3 │ foo │ two │ 2 │ 4 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 4 │ foo │ three │ 7 │ 8 ║
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝
Shape: (5,4)
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╤═══════════════════╗
║ │ A │ B │ C_cummin │ D_cummin ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 3 │ foo │ two │ 2 │ 4 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 4 │ foo │ three │ 7 │ 8 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 5 │ bar │ one │ 3 │ 2 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 6 │ bar │ two │ 2 │ 6 ║
╟───┼───────────────────┼───────────────────┼───────────────────┼───────────────────╢
║ 7 │ bar │ three │ 4 │ 1 ║
╚═══╧═══════════════════╧═══════════════════╧═══════════════════╧═══════════════════╝