def weighted_kde(self, data, weights, xs): data_wt = np.array([data[i] for i in range(len(data)) for w in range(weights[i])]) density = gaussian_kde(data_wt) ys = density(xs) return ys