user308827 - 9 months ago 237

Python Question

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?

thanks!

Answer

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 i in zipped:
for j in range(i[1]):
weighted.append(i[0])
return weighted
np.percentile(weight_array(ar, weights), 25)
```

Source (Stackoverflow)