熊猫:计算均值和标准差在[25%和75%]之内

时间:2018-09-26 23:47:41

标签: pandas

我有以下代码为我的数据帧计算一些聚合:

def percentile(n):
    def percentile_(x):
        return np.percentile(x, n)
    percentile_.__name__ = 'percentile_%s' % n
    return percentile_

df_type = df[['myType', 'required_time']].groupby(['myType']).agg(['count', 'min', 'max', 'median', 'mean', 'std',  percentile(25), percentile(75)])

代码工作正常。但是,现在我只想使用[25%和75%]内的数据来计算均值和标准差,在熊猫中实现这一目标的最优雅的方法是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用分位数进行描述,这是否适合您

df[['myType', 'required_time']].groupby(['myType']).quantile([0.25,0.5]).describe()

出局:

    RandomForestClassifier  AdaBoostClassifier  GaussianNB
count   2.000000    2.000000    2.000000
mean    0.596761    0.627393    0.580476
std 0.496570    0.463766    0.491389
min 0.245632    0.299462    0.233012
25% 0.421196    0.463427    0.406744
50% 0.596761    0.627393    0.580476
75% 0.772325    0.791359    0.754208
max 0.947889    0.955325    0.927941