How can I calculate the weighted coefficient of variation (CV) over a NumPy array in Python? It's okay to use any popular third-party Python package for this purpose.
I can calculate the CV using scipy.stats.variation
, but it's not weighted.
import numpy as np
from scipy.stats import variation
arr = np.arange(-5, 5)
weights = np.arange(9, -1, -1) # Same size as arr
cv = abs(variation(arr)) # Isn't weighted