A=np.array(a)
A[:(A<np.percentile(a, 90)).argmin()].sum() #461
@ JoshAdel's
%%timeit
...: b = np.cumsum(a)
...: p90 = np.percentile(a, 90)
...: b[b < p90][-1]
...:
1000 loops, best of 3: 217 Β΅s per loop
It:
%timeit A[:(A<np.percentile(a, 90)).argmin()].sum()
10000 loops, best of 3: 191 Β΅s per loop
source
share