python - 聚合函数的峰度
问题描述
峰度函数在聚合块中使用时,默认使用 Fisher 定义。我希望使用 Pearson 计算。为此,需要设置 Bool "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)],
得到一个错误“峰度()缺少1个必需的位置参数:'a'”
请告知正确的语法
谢谢
解决方案
您可以使用functools.partial来“冻结”一些函数参数。在你的情况下:
import functools
from scipy.stats import kurtosis
kurtosis_pearson = functools.partial(kurtosis, fisher=False)
然后,您可以传递kurtosis_pearson
给您的聚合函数。
推荐阅读
- gitlab - 此 GitLab CI 配置无效:根配置包含未知键:标签
- assembly - 如何减小弦臂组件的尺寸
- javascript - TypeError:无法读取未定义 Node Js firebase 函数的属性“修剪”
- r - 如何根据使用 lubridate 的时间更改日期时间向量的日期?
- high-availability - 如何使用 ConnectionType=initiator 在 QuickFIX/J 2.1 中实现高可用性?
- arrays - 如何将任何数组类型放入函数参数中
- json - 在两个 PowerShell 步骤之间使用 Json 变量
- git - 如何`git filter-repo`向每个提交添加文件?
- flutter - 文本未更新为颤振中的新值
- postgresql - 无法使用 deno.js 连接到 postgres