峰度函数在聚集块中使用时,默认情况下使用fisher定义。我希望使用皮尔逊的计算方法。要做到这一点,需要在峰度函数上设置布尔"fisher=False“
但是当我在代码上设置它的时候得到了错误
以下是与峰度的fisher定义配合使用的原始代码
df1=df.groupby(['EngID','ncyc']).agg(
{
'derived_Field6' : [np.mean,np.std ,skew,kurtosis],
'derived_Field13' : [np.mean,np.std ,skew,kurtosis],
'derived_Field20' : [np.mean,np.std ,skew,kurtosis],
'derived_Field21' : [np.mean,np.std ,skew,kurtosis],
'derived_rul' : [np.mean],
'EngID' : [np.mean],
}
)当我尝试这个的时候
derived_Field6' : [np.mean,np.std ,skew,kurtosis(fisher= False)],出现错误“kurtosis()缺少1个必需的位置参数:'a‘”
请建议正确的语法
谢谢
发布于 2019-08-01 18:58:41
您可以使用functools.partial来“冻结”一些函数参数。在您的案例中:
import functools
from scipy.stats import kurtosis
kurtosis_pearson = functools.partial(kurtosis, fisher=False)然后,您可以将kurtosis_pearson传递给聚合函数。
https://stackoverflow.com/questions/57306870
复制相似问题