pandas groupby sort descending order

前端 未结 6 1432
离开以前
离开以前 2020-12-28 13:02

pandas groupby will by default sort. But I\'d like to change the sort order. How can I do this?

I\'m guessing that I can\'t apply a sort method to the returned gro

6条回答
  •  攒了一身酷
    2020-12-28 13:26

    You can do a sort_values() on the dataframe before you do the groupby. Pandas preserves the ordering in the groupby.

    In [44]: d.head(10)
    Out[44]:
                  name transcript  exon
    0  ENST00000456328          2     1
    1  ENST00000450305          2     1
    2  ENST00000450305          2     2
    3  ENST00000450305          2     3
    4  ENST00000456328          2     2
    5  ENST00000450305          2     4
    6  ENST00000450305          2     5
    7  ENST00000456328          2     3
    8  ENST00000450305          2     6
    9  ENST00000488147          1    11
    
    for _, a in d.head(10).sort_values(["transcript", "exon"]).groupby(["name", "transcript"]): print(a)
                  name transcript  exon
    1  ENST00000450305          2     1
    2  ENST00000450305          2     2
    3  ENST00000450305          2     3
    5  ENST00000450305          2     4
    6  ENST00000450305          2     5
    8  ENST00000450305          2     6
                  name transcript  exon
    0  ENST00000456328          2     1
    4  ENST00000456328          2     2
    7  ENST00000456328          2     3
                  name transcript  exon
    9  ENST00000488147          1    11
    

提交回复
热议问题