目前我能够从一个大的groupby对象中检索一个摘要统计数组(例如,groupby对象有2000个数据帧,其中我检索每个数据帧'Z'列的平均值。)
为此,我使用以下过程:
vals = mygroupby.aggregate(np.mean)['z'].values
我也可以用np.std,np.var等来做这个。但是,我想用np.percentile做这个(即返回groupby对象中所有90个百分点的数组),但是这需要额外的参数。这就是我试过的
vals = mygroupby.aggregate(np.percentile(90))['z'].values
出现以下错误:
TypeError: percentile() missing 1 required positional argument: 'q'
我理解的是因为我错过了np.percentile的迭代。我如何告诉np.percentile迭代是聚合本身,类似于np.mean的工作方式?
修改
性能是一个问题,在参数中使用lambda函数会大幅减慢,而np.mean示例执行得非常快。