I am a data analyst I have over 3 years of experience with excel and python and numpy library
if len(groups)!= len(weights):
raise ValueError
groups = [login to view URL](groups)
weights = [login to view URL](weights)
vals = [login to view URL](vals)
means = [login to view URL]([login to view URL])
means[:] = [login to view URL]
for k, g in enumerate(groups):
if len(g) != len(vals):
raise ValueError
s = set(g)
for c in s:
index = [i for i, j in enumerate(g) if (j == c and not [login to view URL](vals[i]))]
means[k, index] = [login to view URL](vals[index])
weighted_means = [login to view URL](means.T, weights)
demanded = vals - weighted_means
return demanded