通过聚合从Pandas组中检索分位数

时间:2017-03-22 21:08:44

标签: python pandas numpy

目前我能够从一个大的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示例执行得非常快。

0 个答案:

没有答案