0

グループ化されたデータフレームを各グループのエントリ数でソートすることに興味があります。私が見る限り、グループ ラベルで並べ替えることができるか、またはまったく並べ替えることができません。3 つのグループに属する 10 個のエントリがあるとします。グループ A には 6 人のメンバーがいて、グループ B には 3 人のメンバーがいて、グループ C には 1 人のメンバーがいます。たとえば、grouped.describe() を実行するとき、最も多くのエントリを持つグループが最初に表示されるように出力を並べ替えたいと思います。

4

1 に答える 1

2

から統計をアンスタックすると、次のように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

デフォルトですでにソートされているため、説明のためにソートを逆にしましたが、もちろん好きなようにソートできます。

「値」レベルをドロップまたはスタックせずにカウントでソートできる人にはボーナスです。:)

于 2013-06-26T15:05:48.950 に答える