Why does accumulate work for numpy.maximum but not numpy.argmax
Because max is associative, but argmax is not:

max(a, max(b, c)) == max(max(a, b), c)
argmax(a, argmax(b, c)) != argmax(argmax(a, b), c)
These two look like they should be very much equivalent and therefore what works for one should work for the other? So why does accumulate only work for maximum but not argmax?
EDIT: A natural follow-up question is then how does one go about creating an efficient argmax accumulate in the most pythonic/numpy-esque way?