pandas groupby按汇总统计排序

时间:2016-08-28 09:17:31

标签: python pandas

    date    shown   clicked converted   avg_cost_per_click  total_revenue   ad
0   2015-10-01  65877   2339    43  0.90    641.62  ad_group_1
1   2015-10-02  65100   2498    38  0.94    756.37  ad_group_2
2   2015-10-03  70658   2313    49  0.86    970.90  ad_group_3
3   2015-10-04  69809   2833    51  1.01    907.39  ad_group_4
4   2015-10-05  68186   2696    41  1.00    879.45  ad_group_5

这是我的数据框df

我按照&ad;然后我想在得到均值,最大值时对输出进行排序。

df_ad = df.groupby('ad')

我如何对下面的内容进行排序?

df_ad['shown'].mean().sort(ascending=True)

1 个答案:

答案 0 :(得分:1)

您需要在每个分组键上聚合均值,并使用sort_values对这些输出值进行排序。

df_grouped = df.groupby(['ad'])['shown'].agg({'mean': np.mean, 'max': np.max})
df_grouped.sort_values(['mean', 'max'], ascending=[True, False], inplace=True)