Skip to content

Commit 854aea7

Browse files
committed
feat(dask): implement ungrouped argmin and argmax
1 parent bf9b948 commit 854aea7

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

ibis/backends/dask/execution/reductions.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,23 @@ def execute_standard_dev_series(op, data, mask, aggcontext=None, **kwargs):
176176
'std',
177177
ddof=variance_ddof[op.how],
178178
)
179+
180+
181+
@execute_node.register(
182+
ops.ArgMax, dd.Series, dd.Series, (dd.Series, type(None))
183+
)
184+
def execute_argmax_series(op, data, key, mask, aggcontext=None, **kwargs):
185+
idxmax = aggcontext.agg(
186+
key[mask] if mask is not None else key, 'idxmax'
187+
).compute()
188+
return data.loc[idxmax]
189+
190+
191+
@execute_node.register(
192+
ops.ArgMin, dd.Series, dd.Series, (dd.Series, type(None))
193+
)
194+
def execute_argmin_series(op, data, key, mask, aggcontext=None, **kwargs):
195+
idxmin = aggcontext.agg(
196+
key[mask] if mask is not None else key, 'idxmin'
197+
).compute()
198+
return data.loc[idxmin]

0 commit comments

Comments
 (0)