我感兴趣的是按每个组的条目数量对分组的数据帧进行排序。据我所知,我可以按组标签排序,也可以根本不排序。假设我有属于三个组的10个条目。组A有6个成员,组B有3个成员,组C有1个成员。现在,当我执行grouped.describe()时,我希望对输出进行排序,以便首先显示具有最多条目的组。
发布于 2013-06-26 23:05:49
我将从describe()中拆分统计数据,然后您可以简单地使用sort(),因此:
incsv = StringIO("""Group,Value
B,1
B,2
B,3
C,8
A,5
A,10
A,15
A,25
A,35
A,40""")
df = pd.read_csv(incsv)
groups = df.groupby('Group').describe().unstack()
Value
count mean std min 25% 50% 75% max
Group
A 6 21.666667 14.023789 5 11.25 20 32.5 40
B 3 2.000000 1.000000 1 1.50 2 2.5 3
C 1 8.000000 NaN 8 8.00 8 8.0 8
dfstats.xs('Value', axis=1).sort('count', ascending=True)
count mean std min 25% 50% 75% max
Group
C 1 8.000000 NaN 8 8.00 8 8.0 8
B 3 2.000000 1.000000 1 1.50 2 2.5 3
A 6 21.666667 14.023789 5 11.25 20 32.5 40我颠倒了排序只是为了说明,因为它在默认情况下已经排序了,但当然你可以按你想要的任何方式排序。
任何人可以在不丢弃或堆叠“价值”级别的情况下按计数排序的人的奖金。:)
https://stackoverflow.com/questions/17321822
复制相似问题