Is there a way to use the numpy.percentile
function to compute weighted percentile? Or is anyone aware of an alternative python function to compute weighted percentile?
Unfortunately, numpy doesn't have built-in weighted functions for everything, but, you can always put something together.
def weight_array(ar, weights):
zipped = zip(ar, weights)
weighted = []
for a, w in zipped:
for j in range(w):
weighted.append(a)
return weighted
np.percentile(weight_array(ar, weights), 25)