计算 numpy.ndarray 的加权平均值

computing weighted average over numpy.ndarray

有两个numpy.ndarrayAB;两者的形状都是 (3,20,5)C 是长度为 20pandas.core.series.Series 我想根据 A, BC 计算加权平均数组 D,基于公式

D[:,x,:] = A[:,x,:]*C[x]+B[:,x,:]*(1-C[x])

根据 Numpy 中的最佳实践,在不迭代相关内容的情况下,正确的实现方法是什么 3-dimension array

你可以试试这个:

c = C.to_numpy().reshape(-1, 1)
D = A*c + B*(1-c)