datatable.cummin()¶
Added in version 1.1.0
For each column from cols
calculate cumulative minimum. In the presence of by()
,
the cumulative minimum is computed within each group.
Parameters¶
cols
FExpr
Input data for cumulative minimum calculation.
reverse
bool
If False
, computation is done from top to bottom.
If True
, it is done from bottom to top.
return
FExpr
f-expression that converts input columns into the columns filled with the respective cumulative minimums.
except
TypeError
The exception is raised when one of the columns from cols
has a non-numeric type.
Examples¶
Create a sample datatable frame:
from datatable import dt, f, by
DT = dt.Frame({"A": [2, None, 5, -1, 0],
"B": [None, None, None, None, None],
"C": [5.4, 3, 2.2, 4.323, 3],
"D": ['a', 'a', 'b', 'b', 'b']})
A | B | C | D | ||
---|---|---|---|---|---|
int32 | void | float64 | str32 | ||
0 | 2 | NA | 5.4 | a | |
1 | NA | NA | 3 | a | |
2 | 5 | NA | 2.2 | b | |
3 | -1 | NA | 4.323 | b | |
4 | 0 | NA | 3 | b |
Calculate the cumulative minimum in a single column:
DT[:, dt.cummin(f.A)]
A | ||
---|---|---|
int32 | ||
0 | 2 | |
1 | 2 | |
2 | 2 | |
3 | -1 | |
4 | -1 |
Calculate the cumulative minimum from bottom to top:
DT[:, dt.cummin(f.A, reverse=True)]
A | ||
---|---|---|
int32 | ||
0 | -1 | |
1 | -1 | |
2 | -1 | |
3 | -1 | |
4 | 0 |
Calculate the cumulative minimum in multiple columns:
DT[:, dt.cummin(f[:-1])]
A | B | C | ||
---|---|---|---|---|
int32 | void | float64 | ||
0 | 2 | NA | 5.4 | |
1 | 2 | NA | 3 | |
2 | 2 | NA | 2.2 | |
3 | -1 | NA | 2.2 | |
4 | -1 | NA | 2.2 |
For a grouped frame calculate the cumulative minimum within each group:
DT[:, dt.cummin(f[:]), by('D')]
D | A | B | C | ||
---|---|---|---|---|---|
str32 | int32 | void | float64 | ||
0 | a | 2 | NA | 5.4 | |
1 | a | 2 | NA | 3 | |
2 | b | 5 | NA | 2.2 | |
3 | b | -1 | NA | 2.2 | |
4 | b | -1 | NA | 2.2 |
The content on this page is licensed under the Creative Commons Attribution 4.0 License
(CC BY 4.0) ,
and code samples are licensed under the MIT License.