Reductions¶
COO
objects support a number of reductions. However, not all important
reductions are currently implemented (help welcome!) All of the following
currently work:
x.sum(axis=1)
np.max(x)
np.min(x, axis=(0, 2))
x.prod()
Note
If you are performing multiple reductions along the same axes, it may
be beneficial to call COO.enable_caching
.
COO.reduce
¶
This method can take an arbitrary numpy.ufunc
and performs a
reduction using that method. For example, the following will perform
a sum:
x.reduce(np.add, axis=1)
Note
sparse
currently performs reductions by grouping together all
coordinates along the supplied axes and reducing those. Then, if the
number in a group is deficient, it reduces an extra time with zero.
As a result, if reductions can change by adding multiple zeros to
it, this method won’t be accurate. However, it works in most cases.