我想通过pandas的agg()函数传递numpy percentile()函数,就像下面对其他numpy统计函数所做的那样。
现在我有一个数据框,它看起来像这样:
AGGREGATE MY_COLUMN
A 10
A 12
B 5
B 9
A 84
B 22
我的代码如下:
grouped = dataframe.groupby('AGGREGATE')
column = grouped['MY_COLUMN']
column.agg([np.sum, np.mean, np.std, np.median, np.var, np.min, np.max])
上面的代码可以工作,但是我想做一些
column.agg([np.sum, np.mean, np.percentile(50), np.percentile(95)])
即指定要从agg()返回的各种百分比
应该怎么做?
也许不是超级高效,但有一种方法是自己创建一个函数:
然后将其包含在您的
agg
中:请注意,这是如何做应该虽然。。。
对于50%和95%的百分比,请尝试此操作:
更具体地说,如果您只想使用percentile函数聚合pandas groupby结果,python lambda函数提供了一个非常简洁的解决方案。使用问题的符号,加上百分位95,应该是:
您还可以将此函数分配给变量,并将其与其他聚合函数一起使用。
相关问题 更多 >
编程相关推荐