import numpy as np
import pandas as pd
dummies = np.array(pd.get_dummies(list('abdccadab'))) #categorical IV
groupIDs = np.array([10,10,10,10,20,20,30,30,30]) #groups(/strata)
_,idx,tags = np.unique(groupIDs, return_index=1, return_inverse=1)
我知道我们可以按组、列等进行求和、乘法等计算。
np.multiply.reduceat(dummies,idx)[tags]
但是有没有一种方法可以计算这些区间的平均值?
因为“np.mean.reduceat”和“np.average.reduceat”不起作用。
AttributeError: 'function' object has no attribute 'reduceat'
ufunc
有reduceat
。mean
和average
不属于这种类型的函数。 - hpaulj