PERF: groupby-cummax,cummin (original) (raw)

these could be implemented in cython, should be very straightforward as we already have much templated code

In [1]: np.random.seed(1234)

In [4]: G = 1000

In [5]: N = 10000

In [6]: df = pd.DataFrame({'A':np.random.randint(0,G,size=N),'B':np.random.randn(N)})

In [7]: %timeit df.groupby('A').cumsum()
1000 loops, best of 3: 1.27 ms per loop

In [8]: %timeit df.groupby('A').cummax()
1 loop, best of 3: 799 ms per loop

In [9]: %timeit df.groupby('A').cummin()
1 loop, best of 3: 796 ms per loop

In [10]: %timeit df.groupby('A').cumprod()
1000 loops, best of 3: 1.26 ms per loop