Reducers
Usage
Reducers are used in reduce
to compute the aggregated results obtained by a groupby
:
my_table.groupby(table.columnA).reduce(aggregated_result=pw.reducers.my_reducer(my_table.columnB))
We use the following table t
in the examples:
colA colB
1 valA -1
2 valA 1
3 valA 2
List of Available Reducers
min
Returns the minimum of the aggregated values, and throws an error if the table is empty.
t.groupby(t.colA).reduce(min=pw.reducers.min(t.colB))
| min
^ENHSR8M... | -1
max
Returns the maximum of the aggregated values, and throws an error if the table is empty.
t.groupby(t.colA).reduce(max=pw.reducers.max(t.colB))
| max
^ENHSR8M... | 2
sum
Returns the sum of the aggregated values.
t.groupby(t.colA).reduce(sum=pw.reducers.sum(t.colB))
| sum
^ENHSR8M... | 2
avg
Returns the average of the aggregated values.
t.groupby(t.colA).reduce(sum=pw.reducers.avg(t.colB))
| sum
^ENHSR8M... | 0.6666666666666666
npsum
Return the sum of the values of aggregated numpy arrays.
t.groupby(t.colA).reduce(sum=pw.reducers.npsum(t.colB))
| sum
^ENHSR8M... | 2
sorted_tuple
Return a sorted tuple containing all the aggregated values.
t.groupby(t.colA).reduce(tuples=pw.reducers.sorted_tuple(t.colB))
| tuples
^ENHSR8M... | (-1, 1, 2)
count
Returning the number of aggregated elements.
t.groupby(t.colA).reduce(count=pw.reducers.count())
| count
^ENHSR8M... | 3
argmin
Returns the index of the minimum aggregated value, returns None if the table is empty.
t.groupby(t.colA).reduce(argmin=pw.reducers.argmin(t.colB))
| argmin
^ENHSR8M... | ^YYY4HAB...
argmax
Returns the index of the maximum aggregated value, returns None if the table is empty.
t.groupby(t.colA).reduce(argmax=pw.reducers.argmax(t.colB))
| argmax
^ENHSR8M... | ^3CZ78B4...